Skip to content

Commit d464f21

Browse files
malexanderlimlcaresia
authored andcommitted
Adding new prop for requestTimeout for Azure SQL (#14344)
* Adding new prop for requestTimeout. * App file changes and other actions. * Adding comments back in. * Version bumps.
1 parent ab3432e commit d464f21

File tree

7 files changed

+46
-11
lines changed

7 files changed

+46
-11
lines changed

components/azure_sql/actions/execute-query/execute-query.mjs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ export default {
55
name: "Execute Query",
66
description: "Executes a SQL query and returns the results. [See the documentation](https://learn.microsoft.com/en-us/sql/t-sql/queries/select-transact-sql?view=azuresqldb-current)",
77
type: "action",
8-
version: "0.0.5",
8+
version: "0.0.6",
99
props: {
1010
app,
1111
query: {
@@ -20,18 +20,26 @@ export default {
2020
description: "The inputs to the query. These will be available as @input_parameter in the query. For example, if you provide an input named 'id', you can use @id in the query.",
2121
optional: true,
2222
},
23+
requestTimeout: {
24+
propDefinition: [
25+
app,
26+
"requestTimeout",
27+
],
28+
},
2329
},
2430
run({ $ }) {
2531
const {
2632
app,
2733
inputs,
2834
query,
35+
requestTimeout,
2936
} = this;
3037

3138
return app.executeQuery({
3239
$,
3340
query,
3441
inputs,
42+
requestTimeout,
3543
summary: () => "Successfully executed query.",
3644
});
3745
},

components/azure_sql/actions/execute-raw-query/execute-raw-query.mjs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,26 @@ export default {
55
name: "Execute SQL Query",
66
description: "Execute a custom SQL query. See [our docs](https://pipedream.com/docs/databases/working-with-sql) to learn more about working with SQL in Pipedream.",
77
type: "action",
8-
version: "0.0.4",
8+
version: "0.0.5",
99
props: {
1010
app,
11-
// eslint-disable-next-line pipedream/props-description
1211
sql: {
1312
type: "sql",
1413
auth: {
1514
app: "app",
1615
},
1716
label: "SQL Query",
1817
},
18+
requestTimeout: {
19+
propDefinition: [
20+
app,
21+
"requestTimeout",
22+
],
23+
},
1924
},
2025
async run({ $ }) {
2126
const args = this.app.executeQueryAdapter(this.sql);
27+
args.requestTimeout = this.requestTimeout;
2228
const response = await this.app.executeQuery(args);
2329
$.export("$summary", "Successfully executed query.");
2430
return response;

components/azure_sql/actions/insert-row/insert-row.mjs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ export default {
44
key: "azure_sql-insert-row",
55
name: "Insert Row",
66
description: "Inserts a new row in a table. [See the documentation](https://learn.microsoft.com/en-us/sql/t-sql/statements/insert-transact-sql?view=azuresqldb-current)",
7-
version: "0.0.5",
7+
version: "0.0.6",
88
type: "action",
99
props: {
1010
app,
@@ -16,6 +16,12 @@ export default {
1616
],
1717
reloadProps: true,
1818
},
19+
requestTimeout: {
20+
propDefinition: [
21+
app,
22+
"requestTimeout",
23+
],
24+
},
1925
},
2026
async additionalProps() {
2127
const {
@@ -41,13 +47,15 @@ export default {
4147
const {
4248
app,
4349
table,
50+
requestTimeout,
4451
...inputs
4552
} = this;
4653

4754
return app.insertRow({
4855
$,
4956
table,
5057
inputs,
58+
requestTimeout,
5159
summary: () => "Successfully inserted row.",
5260
});
5361
},

components/azure_sql/azure_sql.app.mjs

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,13 @@ export default {
2828
return recordset.map(({ COLUMN_NAME: columnName }) => columnName);
2929
},
3030
},
31+
requestTimeout: {
32+
type: "integer",
33+
label: "Request Timeout",
34+
description: "The timeout for query execution in seconds. Default is 60 seconds if not specified.",
35+
optional: true,
36+
default: 60,
37+
},
3138
},
3239
methods: {
3340
...sqlProxy.methods,
@@ -37,7 +44,7 @@ export default {
3744
},
3845
getConfig() {
3946
const {
40-
host, username, password, port, database,
47+
host, username, password, port, database, requestTimeout,
4148
} = this.$auth;
4249
return {
4350
user: username,
@@ -51,7 +58,7 @@ export default {
5158
options: {
5259
encrypt: true,
5360
port: Number(port),
54-
requestTimeout: 60000,
61+
requestTimeout: (requestTimeout || 60) * 1000, // Convert to milliseconds
5562
},
5663
};
5764
},
@@ -148,10 +155,16 @@ export default {
148155
},
149156
async executeQuery(preparedStatement = {}) {
150157
let connection;
151-
const { query } = preparedStatement;
158+
const {
159+
query, requestTimeout,
160+
} = preparedStatement;
152161
const inputs = preparedStatement?.inputs || {};
153162
try {
154-
connection = await sql.connect(this.getClientConfiguration());
163+
const config = this.getConfig();
164+
if (requestTimeout) {
165+
config.options.requestTimeout = requestTimeout * 1000; // Convert to milliseconds
166+
}
167+
connection = await sql.connect(config);
155168
const input =
156169
Object.entries(inputs)
157170
.reduce((req, inputArgs) =>

components/azure_sql/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@pipedream/azure_sql",
3-
"version": "0.1.4",
3+
"version": "0.1.5",
44
"description": "Pipedream Microsoft Azure SQL Database Components",
55
"main": "azure_sql.app.mjs",
66
"keywords": [

components/azure_sql/sources/new-column/new-column.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export default {
77
name: "New Column",
88
description: "Triggers when a new column is added to a table.",
99
type: "source",
10-
version: "0.0.5",
10+
version: "0.0.6",
1111
dedupe: "unique",
1212
props: {
1313
...common.props,

components/azure_sql/sources/new-or-updated-row/new-or-updated-row.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export default {
77
name: "New or Updated Row",
88
description: "Triggers when a new row is added or an existing row is updated.",
99
type: "source",
10-
version: "0.0.5",
10+
version: "0.0.6",
1111
dedupe: "unique",
1212
props: {
1313
...common.props,

0 commit comments

Comments
 (0)