You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+21-35Lines changed: 21 additions & 35 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,8 +4,6 @@ The SQLite Plugin is a pre-packaged, plug-and-play integration component for the
4
4
5
5
This plugin is automatically installed by the FlowSynx engine when selected within the platform. It is not intended for manual installation or standalone developer use outside the FlowSynx environment.
6
6
7
-
---
8
-
9
7
## Purpose
10
8
11
9
The SQLite Plugin allows FlowSynx users to:
@@ -15,75 +13,63 @@ The SQLite Plugin allows FlowSynx users to:
15
13
- Perform data transformation and filtering inline using SQL.
16
14
- Integrate SQLite operations into automation workflows without writing code.
17
15
18
-
---
19
-
20
16
## Supported Operations
21
17
22
-
-**query**: Executes a SQL `SELECT` query and returns the result set as JSON.
23
-
-**execute**: Executes a SQL command (`INSERT`, `UPDATE`, `DELETE`, etc.) and returns the number of affected rows.
24
-
25
-
---
18
+
-**query**: Executes a SQL `SELECT` query and returns the result set as structured data (see below).
19
+
-**execute**: Executes a SQL command (`INSERT`, `UPDATE`, `DELETE`, etc.) and returns the number of affected rows (or null if using structured data input).
26
20
27
21
## Plugin Specifications
28
22
29
23
The plugin requires the following configuration:
30
-
- ConnectionString (string): **Required.** The PostgreSQL connection string used to connect to the database. Example:
24
+
-`ConnectionString` (string): **Required.** The SQLite connection string used to connect to the database. Example:
31
25
```
32
26
Data Source=C:\databases\flowdata.db
33
27
```
34
28
35
-
---
36
-
37
29
## Input Parameters
38
30
39
-
The plugin accepts the following parameters:
31
+
The plugin accepts the following parameters (see `InputParameter`):
40
32
41
-
-`Operation` (string): **Required.** The type of operation to perform. Supported values are `query` and `execute`.
42
-
-`Sql` (string): **Required.** The SQL query or command to execute. Use parameter placeholders (e.g., `@id`, `@name`) for dynamic values.
33
+
-`Operation` (string): **Required.** The type of operation to perform. Supported values are `query` and `execute`.
34
+
-`Sql` (string): **Required.** The SQL query or command to execute. Use parameter placeholders (e.g., `@id`, `@name`) for dynamic values.
43
35
-`Params` (object): Optional. A dictionary of parameter names and values to be used in the SQL template.
36
+
-`Data` (object): Optional. Used for structured data operations (e.g., bulk inserts/updates). Should be a `PluginContext` object with a `StructuredData` property containing a list of dictionaries.
44
37
45
38
### Example input
46
39
47
40
```json
48
41
{
49
42
"Operation": "query",
50
43
"Sql": "SELECT id, name, email FROM users WHERE country = @country",
51
-
"Parameters": {
44
+
"Params": {
52
45
"country": "Norway"
53
46
}
54
47
}
55
48
```
56
49
57
-
---
58
-
59
50
## Debugging Tips
60
51
61
-
- Ensure the `ConnectionString` is correct and the file is accessible from the FlowSynx environment.
62
-
- Use parameter placeholders (`@parameterName`) in the SQL to prevent SQL injection and enable parameterization.
63
-
- Validate that all required parameters are provided in the `Params` dictionary.
64
-
- If a query returns no results, verify that your SQL `WHERE` conditions are correct and the target table contains matching data.
65
-
66
-
---
52
+
- Ensure the `ConnectionString` is correct and the file is accessible from the FlowSynx environment.
53
+
- Use parameter placeholders (`@parameterName`) in the SQL to prevent SQL injection and enable parameterization.
54
+
- Validate that all required parameters are provided in the `Params` dictionary.
55
+
- If a query returns no results, verify that your SQL `WHERE` conditions are correct and the target table contains matching data.
56
+
- For bulk operations, ensure `Data` is a valid `PluginContext` with a `StructuredData` list.
67
57
68
58
## SQLite Limitations
69
59
70
60
When using SQLite within FlowSynx, keep the following considerations in mind:
71
61
72
-
-**No Parallel Writes**: SQLite allows only one write operation at a time. If multiple workflows attempt to write simultaneously, you may encounter locking errors. Consider queueing or serializing writes in high-concurrency scenarios.
73
-
-**File-based Database**: SQLite databases are single files. Ensure the file is on a filesystem accessible to the FlowSynx runtime.
74
-
-**Data Type Affinity**: SQLite uses dynamic typing (data type affinity), meaning values are stored based on the content rather than strict column types. Validate data formats explicitly when interacting with other systems.
75
-
-**Size and Performance**: SQLite is best suited for lightweight workloads. For large datasets or heavy concurrent access, consider using a server-based database (e.g., PostgreSQL, MySQL).
76
-
-**In-Memory Databases**: If using an in-memory database (`:memory:`), the database contents exist only during the lifetime of the plugin execution and will not persist across operations.
77
-
78
-
---
62
+
-**No Parallel Writes**: SQLite allows only one write operation at a time. If multiple workflows attempt to write simultaneously, you may encounter locking errors. Consider queueing or serializing writes in high-concurrency scenarios.
63
+
-**File-based Database**: SQLite databases are single files. Ensure the file is on a filesystem accessible to the FlowSynx runtime.
64
+
-**Data Type Affinity**: SQLite uses dynamic typing (data type affinity), meaning values are stored based on the content rather than strict column types. Validate data formats explicitly when interacting with other systems.
65
+
-**Size and Performance**: SQLite is best suited for lightweight workloads. For large datasets or heavy concurrent access, consider using a server-based database (e.g., PostgreSQL, MySQL).
66
+
-**In-Memory Databases**: If using an in-memory database (`:memory:`), the database contents exist only during the lifetime of the plugin execution and will not persist across operations.
79
67
80
68
## Security Notes
81
69
82
-
- SQL commands are executed using parameterized queries to prevent SQL injection.
83
-
- The plugin does not store credentials or data outside of execution unless explicitly configured.
84
-
- Only authorized FlowSynx platform users can view or modify configurations.
85
-
86
-
---
70
+
- SQL commands are executed using parameterized queries to prevent SQL injection.
71
+
- The plugin does not store credentials or data outside of execution unless explicitly configured.
72
+
- Only authorized FlowSynx platform users can view or modify configurations.
Copy file name to clipboardExpand all lines: src/README.md
+21-19Lines changed: 21 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,15 +19,15 @@ The SQLite Plugin allows FlowSynx users to:
19
19
20
20
## Supported Operations
21
21
22
-
-**query**: Executes a SQL `SELECT` query and returns the result set as JSON.
23
-
-**execute**: Executes a SQL command (`INSERT`, `UPDATE`, `DELETE`, etc.) and returns the number of affected rows.
22
+
-**query**: Executes a SQL `SELECT` query and returns the result set as structured data (see below).
23
+
-**execute**: Executes a SQL command (`INSERT`, `UPDATE`, `DELETE`, etc.) and returns the number of affected rows (or null if using structured data input).
24
24
25
25
---
26
26
27
27
## Plugin Specifications
28
28
29
29
The plugin requires the following configuration:
30
-
- ConnectionString (string): **Required.** The PostgreSQL connection string used to connect to the database. Example:
30
+
-`ConnectionString` (string): **Required.** The SQLite connection string used to connect to the database. Example:
31
31
```
32
32
Data Source=C:\databases\flowdata.db
33
33
```
@@ -36,19 +36,20 @@ Data Source=C:\databases\flowdata.db
36
36
37
37
## Input Parameters
38
38
39
-
The plugin accepts the following parameters:
39
+
The plugin accepts the following parameters (see `InputParameter`):
40
40
41
-
-`Operation` (string): **Required.** The type of operation to perform. Supported values are `query` and `execute`.
42
-
-`Sql` (string): **Required.** The SQL query or command to execute. Use parameter placeholders (e.g., `@id`, `@name`) for dynamic values.
41
+
-`Operation` (string): **Required.** The type of operation to perform. Supported values are `query` and `execute`.
42
+
-`Sql` (string): **Required.** The SQL query or command to execute. Use parameter placeholders (e.g., `@id`, `@name`) for dynamic values.
43
43
-`Params` (object): Optional. A dictionary of parameter names and values to be used in the SQL template.
44
+
-`Data` (object): Optional. Used for structured data operations (e.g., bulk inserts/updates). Should be a `PluginContext` object with a `StructuredData` property containing a list of dictionaries.
44
45
45
46
### Example input
46
47
47
48
```json
48
49
{
49
50
"Operation": "query",
50
51
"Sql": "SELECT id, name, email FROM users WHERE country = @country",
51
-
"Parameters": {
52
+
"Params": {
52
53
"country": "Norway"
53
54
}
54
55
}
@@ -58,30 +59,31 @@ The plugin accepts the following parameters:
58
59
59
60
## Debugging Tips
60
61
61
-
- Ensure the `ConnectionString` is correct and the file is accessible from the FlowSynx environment.
62
-
- Use parameter placeholders (`@parameterName`) in the SQL to prevent SQL injection and enable parameterization.
63
-
- Validate that all required parameters are provided in the `Params` dictionary.
64
-
- If a query returns no results, verify that your SQL `WHERE` conditions are correct and the target table contains matching data.
62
+
- Ensure the `ConnectionString` is correct and the file is accessible from the FlowSynx environment.
63
+
- Use parameter placeholders (`@parameterName`) in the SQL to prevent SQL injection and enable parameterization.
64
+
- Validate that all required parameters are provided in the `Params` dictionary.
65
+
- If a query returns no results, verify that your SQL `WHERE` conditions are correct and the target table contains matching data.
66
+
- For bulk operations, ensure `Data` is a valid `PluginContext` with a `StructuredData` list.
65
67
66
68
---
67
69
68
70
## SQLite Limitations
69
71
70
72
When using SQLite within FlowSynx, keep the following considerations in mind:
71
73
72
-
-**No Parallel Writes**: SQLite allows only one write operation at a time. If multiple workflows attempt to write simultaneously, you may encounter locking errors. Consider queueing or serializing writes in high-concurrency scenarios.
73
-
-**File-based Database**: SQLite databases are single files. Ensure the file is on a filesystem accessible to the FlowSynx runtime.
74
-
-**Data Type Affinity**: SQLite uses dynamic typing (data type affinity), meaning values are stored based on the content rather than strict column types. Validate data formats explicitly when interacting with other systems.
75
-
-**Size and Performance**: SQLite is best suited for lightweight workloads. For large datasets or heavy concurrent access, consider using a server-based database (e.g., PostgreSQL, MySQL).
76
-
-**In-Memory Databases**: If using an in-memory database (`:memory:`), the database contents exist only during the lifetime of the plugin execution and will not persist across operations.
74
+
-**No Parallel Writes**: SQLite allows only one write operation at a time. If multiple workflows attempt to write simultaneously, you may encounter locking errors. Consider queueing or serializing writes in high-concurrency scenarios.
75
+
-**File-based Database**: SQLite databases are single files. Ensure the file is on a filesystem accessible to the FlowSynx runtime.
76
+
-**Data Type Affinity**: SQLite uses dynamic typing (data type affinity), meaning values are stored based on the content rather than strict column types. Validate data formats explicitly when interacting with other systems.
77
+
-**Size and Performance**: SQLite is best suited for lightweight workloads. For large datasets or heavy concurrent access, consider using a server-based database (e.g., PostgreSQL, MySQL).
78
+
-**In-Memory Databases**: If using an in-memory database (`:memory:`), the database contents exist only during the lifetime of the plugin execution and will not persist across operations.
77
79
78
80
---
79
81
80
82
## Security Notes
81
83
82
-
- SQL commands are executed using parameterized queries to prevent SQL injection.
83
-
- The plugin does not store credentials or data outside of execution unless explicitly configured.
84
-
- Only authorized FlowSynx platform users can view or modify configurations.
84
+
- SQL commands are executed using parameterized queries to prevent SQL injection.
85
+
- The plugin does not store credentials or data outside of execution unless explicitly configured.
86
+
- Only authorized FlowSynx platform users can view or modify configurations.
0 commit comments