@pma-network/sql 1.0.6 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -1
- package/dist/MySQL.d.ts +72 -24
- package/dist/MySQL.d.ts.map +1 -1
- package/dist/MySQL.js +151 -159
- package/dist/MySQL.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/types.d.ts +9 -7
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -45,7 +45,7 @@ Import and use:
|
|
|
45
45
|
import db from '@pma-network/sql';
|
|
46
46
|
|
|
47
47
|
const users = await db.query('SELECT * FROM users WHERE age > :age', { age: 18 });
|
|
48
|
-
const
|
|
48
|
+
const insertId = await db.insert('INSERT INTO users (name, sex, identifier) VALUES (:name, :sex, :identifier)', {
|
|
49
49
|
name: 'John Doe',
|
|
50
50
|
sex: 'm',
|
|
51
51
|
identifier: 'discord:123456789',
|
|
@@ -121,3 +121,31 @@ interface User {
|
|
|
121
121
|
const users = await db.query<User[]>('SELECT * FROM users');
|
|
122
122
|
const user = await db.single<User>('SELECT * FROM users WHERE id = 1');
|
|
123
123
|
```
|
|
124
|
+
|
|
125
|
+
Transactions with success/failure:
|
|
126
|
+
```typescript
|
|
127
|
+
const { success, result, error } = await db.transaction(async (execute) => {
|
|
128
|
+
await execute('INSERT INTO accounts (balance) VALUES (:balance)', { balance: 100 });
|
|
129
|
+
await execute('UPDATE users SET has_account = 1 WHERE id = :id', { id: 1 });
|
|
130
|
+
return { accountId: 123 };
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
if (success) {
|
|
134
|
+
console.log('Transaction committed:', result);
|
|
135
|
+
} else {
|
|
136
|
+
console.error('Transaction rolled back:', error);
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Batch operations for bulk inserts/updates:
|
|
141
|
+
```typescript
|
|
142
|
+
const { success, result } = await db.batch([
|
|
143
|
+
{ query: 'INSERT INTO users (name) VALUES (:name)', parameters: { name: 'John' } },
|
|
144
|
+
{ query: 'INSERT INTO users (name) VALUES (:name)', parameters: { name: 'Jane' } },
|
|
145
|
+
{ query: 'INSERT INTO users (name) VALUES (:name)', parameters: { name: 'Bob' } }
|
|
146
|
+
]);
|
|
147
|
+
|
|
148
|
+
if (success) {
|
|
149
|
+
console.log(`Inserted ${result.length} users`);
|
|
150
|
+
}
|
|
151
|
+
```
|
package/dist/MySQL.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { Pool, PoolConnection, RowDataPacket } from 'mysql2/promise';
|
|
2
|
-
import
|
|
3
|
-
import type { ConnectionConfig, InsertResult, QueryParameters, TransactionCallback, UpdateResult } from './types.js';
|
|
2
|
+
import type { BatchQuery, ConnectionConfig, QueryParameters, TransactionCallback, TransactionResult } from './types.js';
|
|
4
3
|
/**
|
|
5
4
|
* MySQL database wrapper with connection pooling and named parameter support.
|
|
6
5
|
* Automatically reads connection configuration from environment variables.
|
|
@@ -21,6 +20,7 @@ export declare class MySQL {
|
|
|
21
20
|
* If no config is provided, it will automatically look for connection strings in environment variables.
|
|
22
21
|
*
|
|
23
22
|
* @param config - Optional database configuration. If omitted, uses environment variables.
|
|
23
|
+
* @throws {Error} If no connection string is found or if connection string validation fails
|
|
24
24
|
*/
|
|
25
25
|
constructor(config?: ConnectionConfig);
|
|
26
26
|
private getConvar;
|
|
@@ -28,13 +28,50 @@ export declare class MySQL {
|
|
|
28
28
|
private getConvarBool;
|
|
29
29
|
private getResourceName;
|
|
30
30
|
private formatResourceConvar;
|
|
31
|
+
/**
|
|
32
|
+
* Gets default configuration from environment variables.
|
|
33
|
+
*
|
|
34
|
+
* @returns ConnectionConfig object
|
|
35
|
+
* @throws {Error} If no connection string is found in environment variables
|
|
36
|
+
* @throws {Error} If connection string validation fails
|
|
37
|
+
*/
|
|
31
38
|
private getDefaultConfig;
|
|
39
|
+
/**
|
|
40
|
+
* Validates the connection string format.
|
|
41
|
+
*
|
|
42
|
+
* @param connectionString - Connection string to validate
|
|
43
|
+
* @throws {Error} If protocol is not 'mysql:'
|
|
44
|
+
* @throws {Error} If hostname is missing
|
|
45
|
+
* @throws {Error} If database name is missing
|
|
46
|
+
* @throws {Error} If username is missing
|
|
47
|
+
* @throws {Error} If connection string format is invalid
|
|
48
|
+
*/
|
|
32
49
|
private validateConnectionString;
|
|
50
|
+
/**
|
|
51
|
+
* Parses connection string into PoolOptions.
|
|
52
|
+
*
|
|
53
|
+
* @param connectionString - Connection string to parse
|
|
54
|
+
* @returns PoolOptions configuration object
|
|
55
|
+
* @throws {TypeError} If connection string is not a valid URL
|
|
56
|
+
*/
|
|
33
57
|
private parseConnectionString;
|
|
34
58
|
private normalizeParameters;
|
|
35
59
|
private setupConvarListeners;
|
|
36
60
|
private scheduleResourceTick;
|
|
61
|
+
private executeWithTiming;
|
|
37
62
|
private exportMetric;
|
|
63
|
+
private replaceAtSymbols;
|
|
64
|
+
/**
|
|
65
|
+
* Executes a query on a specific connection with timing and logging.
|
|
66
|
+
*
|
|
67
|
+
* @param connection - Database connection to use
|
|
68
|
+
* @param query - SQL query to execute
|
|
69
|
+
* @param parameters - Query parameters
|
|
70
|
+
* @returns Query result
|
|
71
|
+
* @throws Query execution errors (SQL errors, syntax errors, constraint violations, etc.)
|
|
72
|
+
*/
|
|
73
|
+
private executeInConnection;
|
|
74
|
+
private executeTransaction;
|
|
38
75
|
private processParameters;
|
|
39
76
|
private logQuery;
|
|
40
77
|
private handleError;
|
|
@@ -62,34 +99,34 @@ export declare class MySQL {
|
|
|
62
99
|
query<T = RowDataPacket[]>(query: string, parameters?: QueryParameters): Promise<T | null>;
|
|
63
100
|
/**
|
|
64
101
|
* Inserts a row into the database.
|
|
65
|
-
* Returns the auto-generated ID
|
|
102
|
+
* Returns the auto-generated ID.
|
|
66
103
|
*
|
|
67
104
|
* @param query - INSERT query with :name or ? placeholders
|
|
68
105
|
* @param parameters - Values to insert
|
|
69
|
-
* @returns
|
|
106
|
+
* @returns Insert ID or null on error
|
|
70
107
|
* @example
|
|
71
|
-
* const
|
|
108
|
+
* const insertId = await db.insert(
|
|
72
109
|
* 'INSERT INTO users (name, email) VALUES (:name, :email)',
|
|
73
110
|
* { name: 'John', email: 'john@example.com' }
|
|
74
111
|
* );
|
|
75
|
-
* console.log(
|
|
112
|
+
* console.log(insertId);
|
|
76
113
|
*/
|
|
77
|
-
insert(query: string, parameters?: QueryParameters): Promise<
|
|
114
|
+
insert(query: string, parameters?: QueryParameters): Promise<number | null>;
|
|
78
115
|
/**
|
|
79
116
|
* Updates rows in the database.
|
|
80
117
|
* Returns the number of affected rows.
|
|
81
118
|
*
|
|
82
119
|
* @param query - UPDATE query with :name or ? placeholders
|
|
83
120
|
* @param parameters - Values to update
|
|
84
|
-
* @returns
|
|
121
|
+
* @returns Number of affected rows or null on error
|
|
85
122
|
* @example
|
|
86
|
-
* const
|
|
123
|
+
* const affectedRows = await db.update(
|
|
87
124
|
* 'UPDATE users SET verified = 1 WHERE id = :id',
|
|
88
125
|
* { id: 123 }
|
|
89
126
|
* );
|
|
90
|
-
* console.log(
|
|
127
|
+
* console.log(affectedRows);
|
|
91
128
|
*/
|
|
92
|
-
update(query: string, parameters?: QueryParameters): Promise<
|
|
129
|
+
update(query: string, parameters?: QueryParameters): Promise<number | null>;
|
|
93
130
|
/**
|
|
94
131
|
* Returns a single value from the database.
|
|
95
132
|
* Use for COUNT, SUM, or single column queries.
|
|
@@ -116,29 +153,20 @@ export declare class MySQL {
|
|
|
116
153
|
* }
|
|
117
154
|
*/
|
|
118
155
|
single<T = RowDataPacket>(query: string, parameters?: QueryParameters): Promise<T | null>;
|
|
119
|
-
/**
|
|
120
|
-
* Prepares a statement for execution.
|
|
121
|
-
* Use for executing the same query multiple times with different parameters.
|
|
122
|
-
*
|
|
123
|
-
* @param query - SQL query to prepare
|
|
124
|
-
* @returns Prepared statement
|
|
125
|
-
* @example
|
|
126
|
-
* const stmt = await db.prepare('SELECT * FROM users WHERE id = ?');
|
|
127
|
-
*/
|
|
128
|
-
prepare(query: string): Promise<mysql.PreparedStatementInfo>;
|
|
129
156
|
/**
|
|
130
157
|
* Executes multiple queries as an atomic transaction.
|
|
131
158
|
* All changes are rolled back if any query fails.
|
|
132
159
|
*
|
|
133
160
|
* @param callback - Function receiving an execute function for queries
|
|
134
|
-
* @returns
|
|
161
|
+
* @returns TransactionResult with success status and result/error
|
|
135
162
|
* @example
|
|
136
|
-
* await db.transaction(async (execute) => {
|
|
163
|
+
* const { success, result, error } = await db.transaction(async (execute) => {
|
|
137
164
|
* await execute('INSERT INTO accounts (balance) VALUES (:balance)', { balance: 100 });
|
|
138
165
|
* await execute('UPDATE users SET has_account = 1 WHERE id = :id', { id: 1 });
|
|
166
|
+
* return { accountId: 123 };
|
|
139
167
|
* });
|
|
140
168
|
*/
|
|
141
|
-
transaction<T = unknown>(callback: TransactionCallback): Promise<T
|
|
169
|
+
transaction<T = unknown>(callback: TransactionCallback): Promise<TransactionResult<T>>;
|
|
142
170
|
/**
|
|
143
171
|
* Executes a query with positional parameters.
|
|
144
172
|
* Skips named parameter processing. Use ? placeholders only.
|
|
@@ -150,11 +178,30 @@ export declare class MySQL {
|
|
|
150
178
|
* const result = await db.rawExecute('SELECT * FROM users WHERE id = ?', [1]);
|
|
151
179
|
*/
|
|
152
180
|
rawExecute<T = unknown>(query: string, parameters?: unknown[]): Promise<T | null>;
|
|
181
|
+
/**
|
|
182
|
+
* Executes multiple queries in a batch within a transaction.
|
|
183
|
+
* All queries are executed atomically - either all succeed or all are rolled back.
|
|
184
|
+
* More efficient than executing queries one by one.
|
|
185
|
+
*
|
|
186
|
+
* @param queries - Array of queries with their parameters
|
|
187
|
+
* @returns TransactionResult with success status and array of results
|
|
188
|
+
* @example
|
|
189
|
+
* const { success, result } = await db.batch([
|
|
190
|
+
* { query: 'INSERT INTO users (name) VALUES (:name)', parameters: { name: 'John' } },
|
|
191
|
+
* { query: 'INSERT INTO users (name) VALUES (:name)', parameters: { name: 'Jane' } },
|
|
192
|
+
* { query: 'UPDATE accounts SET balance = :balance WHERE id = :id', parameters: { balance: 100, id: 1 } }
|
|
193
|
+
* ]);
|
|
194
|
+
* if (success) {
|
|
195
|
+
* console.log(`Executed ${result.length} queries`);
|
|
196
|
+
* }
|
|
197
|
+
*/
|
|
198
|
+
batch(queries: BatchQuery[]): Promise<TransactionResult<any[]>>;
|
|
153
199
|
/**
|
|
154
200
|
* Returns a connection from the pool.
|
|
155
201
|
* Must call connection.release() when finished.
|
|
156
202
|
*
|
|
157
203
|
* @returns Database connection
|
|
204
|
+
* @throws {Error} If pool is unable to provide a connection (pool exhausted, connection timeout, etc.)
|
|
158
205
|
* @example
|
|
159
206
|
* const connection = await db.getConnection();
|
|
160
207
|
* try {
|
|
@@ -168,6 +215,7 @@ export declare class MySQL {
|
|
|
168
215
|
* Closes all connections in the pool.
|
|
169
216
|
* Call when shutting down the application.
|
|
170
217
|
*
|
|
218
|
+
* @throws {Error} If pool fails to close connections
|
|
171
219
|
* @example
|
|
172
220
|
* await db.end();
|
|
173
221
|
*/
|
package/dist/MySQL.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MySQL.d.ts","sourceRoot":"","sources":["../src/MySQL.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,IAAI,EACJ,cAAc,EAGd,aAAa,EACd,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"MySQL.d.ts","sourceRoot":"","sources":["../src/MySQL.ts"],"names":[],"mappings":"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"}
|
package/dist/MySQL.js
CHANGED
|
@@ -21,6 +21,7 @@ export class MySQL {
|
|
|
21
21
|
* If no config is provided, it will automatically look for connection strings in environment variables.
|
|
22
22
|
*
|
|
23
23
|
* @param config - Optional database configuration. If omitted, uses environment variables.
|
|
24
|
+
* @throws {Error} If no connection string is found or if connection string validation fails
|
|
24
25
|
*/
|
|
25
26
|
constructor(config) {
|
|
26
27
|
this.resourceName = this.getResourceName();
|
|
@@ -85,6 +86,13 @@ export class MySQL {
|
|
|
85
86
|
formatResourceConvar(resourceName) {
|
|
86
87
|
return resourceName.replace(/-/g, '_').toLowerCase();
|
|
87
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Gets default configuration from environment variables.
|
|
91
|
+
*
|
|
92
|
+
* @returns ConnectionConfig object
|
|
93
|
+
* @throws {Error} If no connection string is found in environment variables
|
|
94
|
+
* @throws {Error} If connection string validation fails
|
|
95
|
+
*/
|
|
88
96
|
getDefaultConfig() {
|
|
89
97
|
let connectionString = null;
|
|
90
98
|
const resourceName = this.getResourceName();
|
|
@@ -107,6 +115,16 @@ export class MySQL {
|
|
|
107
115
|
this.validateConnectionString(connectionString);
|
|
108
116
|
return { connectionString };
|
|
109
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* Validates the connection string format.
|
|
120
|
+
*
|
|
121
|
+
* @param connectionString - Connection string to validate
|
|
122
|
+
* @throws {Error} If protocol is not 'mysql:'
|
|
123
|
+
* @throws {Error} If hostname is missing
|
|
124
|
+
* @throws {Error} If database name is missing
|
|
125
|
+
* @throws {Error} If username is missing
|
|
126
|
+
* @throws {Error} If connection string format is invalid
|
|
127
|
+
*/
|
|
110
128
|
validateConnectionString(connectionString) {
|
|
111
129
|
try {
|
|
112
130
|
const url = new URL(connectionString);
|
|
@@ -131,6 +149,13 @@ export class MySQL {
|
|
|
131
149
|
throw error;
|
|
132
150
|
}
|
|
133
151
|
}
|
|
152
|
+
/**
|
|
153
|
+
* Parses connection string into PoolOptions.
|
|
154
|
+
*
|
|
155
|
+
* @param connectionString - Connection string to parse
|
|
156
|
+
* @returns PoolOptions configuration object
|
|
157
|
+
* @throws {TypeError} If connection string is not a valid URL
|
|
158
|
+
*/
|
|
134
159
|
parseConnectionString(connectionString) {
|
|
135
160
|
const url = new URL(connectionString);
|
|
136
161
|
return {
|
|
@@ -188,6 +213,22 @@ export class MySQL {
|
|
|
188
213
|
globalThis.ScheduleResourceTick(this.resourceName);
|
|
189
214
|
}
|
|
190
215
|
}
|
|
216
|
+
async executeWithTiming(processedQuery, processedParams, executor) {
|
|
217
|
+
await this.poolReady;
|
|
218
|
+
const startTime = performance.now();
|
|
219
|
+
try {
|
|
220
|
+
const result = await executor();
|
|
221
|
+
const executionTime = performance.now() - startTime;
|
|
222
|
+
this.logQuery(processedQuery, executionTime, processedParams);
|
|
223
|
+
return result;
|
|
224
|
+
}
|
|
225
|
+
catch (error) {
|
|
226
|
+
const executionTime = performance.now() - startTime;
|
|
227
|
+
this.logQuery(processedQuery, executionTime, processedParams, error);
|
|
228
|
+
this.handleError(error);
|
|
229
|
+
return null;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
191
232
|
exportMetric(metric) {
|
|
192
233
|
if (this.metricsExportResource && this.metricsExportFunction) {
|
|
193
234
|
try {
|
|
@@ -196,8 +237,54 @@ export class MySQL {
|
|
|
196
237
|
catch (error) { }
|
|
197
238
|
}
|
|
198
239
|
}
|
|
240
|
+
replaceAtSymbols(query) {
|
|
241
|
+
return query.replace(/@/g, ':');
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Executes a query on a specific connection with timing and logging.
|
|
245
|
+
*
|
|
246
|
+
* @param connection - Database connection to use
|
|
247
|
+
* @param query - SQL query to execute
|
|
248
|
+
* @param parameters - Query parameters
|
|
249
|
+
* @returns Query result
|
|
250
|
+
* @throws Query execution errors (SQL errors, syntax errors, constraint violations, etc.)
|
|
251
|
+
*/
|
|
252
|
+
async executeInConnection(connection, query, parameters) {
|
|
253
|
+
this.scheduleResourceTick();
|
|
254
|
+
const [processedQuery, processedParams] = this.processParameters(query, parameters);
|
|
255
|
+
const startTime = performance.now();
|
|
256
|
+
try {
|
|
257
|
+
const [result] = await connection.execute(processedQuery, processedParams);
|
|
258
|
+
const executionTime = performance.now() - startTime;
|
|
259
|
+
this.logQuery(processedQuery, executionTime, processedParams);
|
|
260
|
+
return result;
|
|
261
|
+
}
|
|
262
|
+
catch (error) {
|
|
263
|
+
const executionTime = performance.now() - startTime;
|
|
264
|
+
this.logQuery(processedQuery, executionTime, processedParams, error);
|
|
265
|
+
throw error;
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
async executeTransaction(callback) {
|
|
269
|
+
await this.poolReady;
|
|
270
|
+
const connection = await this.pool.getConnection();
|
|
271
|
+
try {
|
|
272
|
+
await connection.beginTransaction();
|
|
273
|
+
const result = await callback(connection);
|
|
274
|
+
await connection.commit();
|
|
275
|
+
return { success: true, result };
|
|
276
|
+
}
|
|
277
|
+
catch (error) {
|
|
278
|
+
await connection.rollback();
|
|
279
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
280
|
+
return { success: false, error: errorMessage };
|
|
281
|
+
}
|
|
282
|
+
finally {
|
|
283
|
+
connection.release();
|
|
284
|
+
}
|
|
285
|
+
}
|
|
199
286
|
processParameters(query, parameters) {
|
|
200
|
-
const processedQuery =
|
|
287
|
+
const processedQuery = this.replaceAtSymbols(query);
|
|
201
288
|
if (!parameters) {
|
|
202
289
|
return [processedQuery, []];
|
|
203
290
|
}
|
|
@@ -259,20 +346,10 @@ export class MySQL {
|
|
|
259
346
|
async execute(query, parameters) {
|
|
260
347
|
this.scheduleResourceTick();
|
|
261
348
|
const [processedQuery, processedParams] = this.processParameters(query, parameters);
|
|
262
|
-
|
|
263
|
-
const startTime = performance.now();
|
|
264
|
-
try {
|
|
349
|
+
return this.executeWithTiming(processedQuery, processedParams, async () => {
|
|
265
350
|
const [results] = await this.pool.execute(processedQuery, processedParams);
|
|
266
|
-
const executionTime = performance.now() - startTime;
|
|
267
|
-
this.logQuery(processedQuery, executionTime, processedParams);
|
|
268
351
|
return results;
|
|
269
|
-
}
|
|
270
|
-
catch (error) {
|
|
271
|
-
const executionTime = performance.now() - startTime;
|
|
272
|
-
this.logQuery(processedQuery, executionTime, processedParams, error);
|
|
273
|
-
this.handleError(error);
|
|
274
|
-
return null;
|
|
275
|
-
}
|
|
352
|
+
});
|
|
276
353
|
}
|
|
277
354
|
/**
|
|
278
355
|
* Executes a SELECT query and returns rows.
|
|
@@ -287,54 +364,31 @@ export class MySQL {
|
|
|
287
364
|
async query(query, parameters) {
|
|
288
365
|
this.scheduleResourceTick();
|
|
289
366
|
const [processedQuery, processedParams] = this.processParameters(query, parameters);
|
|
290
|
-
|
|
291
|
-
const startTime = performance.now();
|
|
292
|
-
try {
|
|
367
|
+
return this.executeWithTiming(processedQuery, processedParams, async () => {
|
|
293
368
|
const [rows] = await this.pool.query(processedQuery, processedParams);
|
|
294
|
-
const executionTime = performance.now() - startTime;
|
|
295
|
-
this.logQuery(processedQuery, executionTime, processedParams);
|
|
296
369
|
return rows;
|
|
297
|
-
}
|
|
298
|
-
catch (error) {
|
|
299
|
-
const executionTime = performance.now() - startTime;
|
|
300
|
-
this.logQuery(processedQuery, executionTime, processedParams, error);
|
|
301
|
-
this.handleError(error);
|
|
302
|
-
return null;
|
|
303
|
-
}
|
|
370
|
+
});
|
|
304
371
|
}
|
|
305
372
|
/**
|
|
306
373
|
* Inserts a row into the database.
|
|
307
|
-
* Returns the auto-generated ID
|
|
374
|
+
* Returns the auto-generated ID.
|
|
308
375
|
*
|
|
309
376
|
* @param query - INSERT query with :name or ? placeholders
|
|
310
377
|
* @param parameters - Values to insert
|
|
311
|
-
* @returns
|
|
378
|
+
* @returns Insert ID or null on error
|
|
312
379
|
* @example
|
|
313
|
-
* const
|
|
380
|
+
* const insertId = await db.insert(
|
|
314
381
|
* 'INSERT INTO users (name, email) VALUES (:name, :email)',
|
|
315
382
|
* { name: 'John', email: 'john@example.com' }
|
|
316
383
|
* );
|
|
317
|
-
* console.log(
|
|
384
|
+
* console.log(insertId);
|
|
318
385
|
*/
|
|
319
386
|
async insert(query, parameters) {
|
|
320
387
|
const [processedQuery, processedParams] = this.processParameters(query, parameters);
|
|
321
|
-
|
|
322
|
-
const startTime = performance.now();
|
|
323
|
-
try {
|
|
388
|
+
return this.executeWithTiming(processedQuery, processedParams, async () => {
|
|
324
389
|
const [result] = await this.pool.execute(processedQuery, processedParams);
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
return {
|
|
328
|
-
insertId: result.insertId,
|
|
329
|
-
affectedRows: result.affectedRows,
|
|
330
|
-
};
|
|
331
|
-
}
|
|
332
|
-
catch (error) {
|
|
333
|
-
const executionTime = performance.now() - startTime;
|
|
334
|
-
this.logQuery(processedQuery, executionTime, processedParams, error);
|
|
335
|
-
this.handleError(error);
|
|
336
|
-
return null;
|
|
337
|
-
}
|
|
390
|
+
return result.insertId;
|
|
391
|
+
});
|
|
338
392
|
}
|
|
339
393
|
/**
|
|
340
394
|
* Updates rows in the database.
|
|
@@ -342,32 +396,20 @@ export class MySQL {
|
|
|
342
396
|
*
|
|
343
397
|
* @param query - UPDATE query with :name or ? placeholders
|
|
344
398
|
* @param parameters - Values to update
|
|
345
|
-
* @returns
|
|
399
|
+
* @returns Number of affected rows or null on error
|
|
346
400
|
* @example
|
|
347
|
-
* const
|
|
401
|
+
* const affectedRows = await db.update(
|
|
348
402
|
* 'UPDATE users SET verified = 1 WHERE id = :id',
|
|
349
403
|
* { id: 123 }
|
|
350
404
|
* );
|
|
351
|
-
* console.log(
|
|
405
|
+
* console.log(affectedRows);
|
|
352
406
|
*/
|
|
353
407
|
async update(query, parameters) {
|
|
354
408
|
const [processedQuery, processedParams] = this.processParameters(query, parameters);
|
|
355
|
-
|
|
356
|
-
const startTime = performance.now();
|
|
357
|
-
try {
|
|
409
|
+
return this.executeWithTiming(processedQuery, processedParams, async () => {
|
|
358
410
|
const [result] = await this.pool.execute(processedQuery, processedParams);
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
return {
|
|
362
|
-
affectedRows: result.affectedRows,
|
|
363
|
-
};
|
|
364
|
-
}
|
|
365
|
-
catch (error) {
|
|
366
|
-
const executionTime = performance.now() - startTime;
|
|
367
|
-
this.logQuery(processedQuery, executionTime, processedParams, error);
|
|
368
|
-
this.handleError(error);
|
|
369
|
-
return null;
|
|
370
|
-
}
|
|
411
|
+
return result.affectedRows;
|
|
412
|
+
});
|
|
371
413
|
}
|
|
372
414
|
/**
|
|
373
415
|
* Returns a single value from the database.
|
|
@@ -382,25 +424,15 @@ export class MySQL {
|
|
|
382
424
|
*/
|
|
383
425
|
async scalar(query, parameters) {
|
|
384
426
|
const [processedQuery, processedParams] = this.processParameters(query, parameters);
|
|
385
|
-
|
|
386
|
-
const startTime = performance.now();
|
|
387
|
-
try {
|
|
427
|
+
return this.executeWithTiming(processedQuery, processedParams, async () => {
|
|
388
428
|
const [rows] = await this.pool.query(processedQuery, processedParams);
|
|
389
|
-
const executionTime = performance.now() - startTime;
|
|
390
|
-
this.logQuery(processedQuery, executionTime, processedParams);
|
|
391
429
|
if (!rows || rows.length === 0) {
|
|
392
430
|
return null;
|
|
393
431
|
}
|
|
394
432
|
const firstRow = rows[0];
|
|
395
433
|
const firstColumn = Object.values(firstRow)[0];
|
|
396
434
|
return firstColumn;
|
|
397
|
-
}
|
|
398
|
-
catch (error) {
|
|
399
|
-
const executionTime = performance.now() - startTime;
|
|
400
|
-
this.logQuery(processedQuery, executionTime, processedParams, error);
|
|
401
|
-
this.handleError(error);
|
|
402
|
-
return null;
|
|
403
|
-
}
|
|
435
|
+
});
|
|
404
436
|
}
|
|
405
437
|
/**
|
|
406
438
|
* Returns a single row from the database.
|
|
@@ -417,88 +449,32 @@ export class MySQL {
|
|
|
417
449
|
*/
|
|
418
450
|
async single(query, parameters) {
|
|
419
451
|
const [processedQuery, processedParams] = this.processParameters(query, parameters);
|
|
420
|
-
|
|
421
|
-
const startTime = performance.now();
|
|
422
|
-
try {
|
|
452
|
+
return this.executeWithTiming(processedQuery, processedParams, async () => {
|
|
423
453
|
const [rows] = await this.pool.query(processedQuery, processedParams);
|
|
424
|
-
const executionTime = performance.now() - startTime;
|
|
425
|
-
this.logQuery(processedQuery, executionTime, processedParams);
|
|
426
454
|
return rows.length > 0 ? rows[0] : null;
|
|
427
|
-
}
|
|
428
|
-
catch (error) {
|
|
429
|
-
const executionTime = performance.now() - startTime;
|
|
430
|
-
this.logQuery(processedQuery, executionTime, processedParams, error);
|
|
431
|
-
this.handleError(error);
|
|
432
|
-
return null;
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
-
/**
|
|
436
|
-
* Prepares a statement for execution.
|
|
437
|
-
* Use for executing the same query multiple times with different parameters.
|
|
438
|
-
*
|
|
439
|
-
* @param query - SQL query to prepare
|
|
440
|
-
* @returns Prepared statement
|
|
441
|
-
* @example
|
|
442
|
-
* const stmt = await db.prepare('SELECT * FROM users WHERE id = ?');
|
|
443
|
-
*/
|
|
444
|
-
async prepare(query) {
|
|
445
|
-
this.scheduleResourceTick();
|
|
446
|
-
const connection = await this.pool.getConnection();
|
|
447
|
-
try {
|
|
448
|
-
const processedQuery = query.replace(/@/g, ':');
|
|
449
|
-
const statement = await connection.prepare(processedQuery);
|
|
450
|
-
return statement;
|
|
451
|
-
}
|
|
452
|
-
finally {
|
|
453
|
-
connection.release();
|
|
454
|
-
}
|
|
455
|
+
});
|
|
455
456
|
}
|
|
456
457
|
/**
|
|
457
458
|
* Executes multiple queries as an atomic transaction.
|
|
458
459
|
* All changes are rolled back if any query fails.
|
|
459
460
|
*
|
|
460
461
|
* @param callback - Function receiving an execute function for queries
|
|
461
|
-
* @returns
|
|
462
|
+
* @returns TransactionResult with success status and result/error
|
|
462
463
|
* @example
|
|
463
|
-
* await db.transaction(async (execute) => {
|
|
464
|
+
* const { success, result, error } = await db.transaction(async (execute) => {
|
|
464
465
|
* await execute('INSERT INTO accounts (balance) VALUES (:balance)', { balance: 100 });
|
|
465
466
|
* await execute('UPDATE users SET has_account = 1 WHERE id = :id', { id: 1 });
|
|
467
|
+
* return { accountId: 123 };
|
|
466
468
|
* });
|
|
467
469
|
*/
|
|
468
470
|
async transaction(callback) {
|
|
469
471
|
this.scheduleResourceTick();
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
await connection.beginTransaction();
|
|
474
|
-
const executeInTransaction = async (query, parameters) => {
|
|
475
|
-
this.scheduleResourceTick();
|
|
476
|
-
const [processedQuery, processedParams] = this.processParameters(query, parameters);
|
|
477
|
-
const startTime = performance.now();
|
|
478
|
-
try {
|
|
479
|
-
const [result] = await connection.execute(processedQuery, processedParams);
|
|
480
|
-
const executionTime = performance.now() - startTime;
|
|
481
|
-
this.logQuery(processedQuery, executionTime, processedParams);
|
|
482
|
-
return result;
|
|
483
|
-
}
|
|
484
|
-
catch (error) {
|
|
485
|
-
const executionTime = performance.now() - startTime;
|
|
486
|
-
this.logQuery(processedQuery, executionTime, processedParams, error);
|
|
487
|
-
throw error;
|
|
488
|
-
}
|
|
472
|
+
return this.executeTransaction(async (connection) => {
|
|
473
|
+
const executeInTransaction = (query, parameters) => {
|
|
474
|
+
return this.executeInConnection(connection, query, parameters);
|
|
489
475
|
};
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
return result;
|
|
493
|
-
}
|
|
494
|
-
catch (error) {
|
|
495
|
-
await connection.rollback();
|
|
496
|
-
this.handleError(error);
|
|
497
|
-
return null;
|
|
498
|
-
}
|
|
499
|
-
finally {
|
|
500
|
-
connection.release();
|
|
501
|
-
}
|
|
476
|
+
return callback(executeInTransaction);
|
|
477
|
+
});
|
|
502
478
|
}
|
|
503
479
|
/**
|
|
504
480
|
* Executes a query with positional parameters.
|
|
@@ -512,33 +488,48 @@ export class MySQL {
|
|
|
512
488
|
*/
|
|
513
489
|
async rawExecute(query, parameters) {
|
|
514
490
|
this.scheduleResourceTick();
|
|
515
|
-
const processedQuery =
|
|
491
|
+
const processedQuery = this.replaceAtSymbols(query);
|
|
516
492
|
const params = parameters || [];
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
params[i] = null;
|
|
520
|
-
}
|
|
521
|
-
}
|
|
522
|
-
await this.poolReady;
|
|
523
|
-
const startTime = performance.now();
|
|
524
|
-
try {
|
|
493
|
+
this.normalizeParameters(params);
|
|
494
|
+
return this.executeWithTiming(processedQuery, params, async () => {
|
|
525
495
|
const [results] = await this.pool.execute(processedQuery, params);
|
|
526
|
-
const executionTime = performance.now() - startTime;
|
|
527
|
-
this.logQuery(processedQuery, executionTime, params);
|
|
528
496
|
return results;
|
|
529
|
-
}
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
497
|
+
});
|
|
498
|
+
}
|
|
499
|
+
/**
|
|
500
|
+
* Executes multiple queries in a batch within a transaction.
|
|
501
|
+
* All queries are executed atomically - either all succeed or all are rolled back.
|
|
502
|
+
* More efficient than executing queries one by one.
|
|
503
|
+
*
|
|
504
|
+
* @param queries - Array of queries with their parameters
|
|
505
|
+
* @returns TransactionResult with success status and array of results
|
|
506
|
+
* @example
|
|
507
|
+
* const { success, result } = await db.batch([
|
|
508
|
+
* { query: 'INSERT INTO users (name) VALUES (:name)', parameters: { name: 'John' } },
|
|
509
|
+
* { query: 'INSERT INTO users (name) VALUES (:name)', parameters: { name: 'Jane' } },
|
|
510
|
+
* { query: 'UPDATE accounts SET balance = :balance WHERE id = :id', parameters: { balance: 100, id: 1 } }
|
|
511
|
+
* ]);
|
|
512
|
+
* if (success) {
|
|
513
|
+
* console.log(`Executed ${result.length} queries`);
|
|
514
|
+
* }
|
|
515
|
+
*/
|
|
516
|
+
async batch(queries) {
|
|
517
|
+
this.scheduleResourceTick();
|
|
518
|
+
return this.executeTransaction(async (connection) => {
|
|
519
|
+
const results = [];
|
|
520
|
+
for (const { query, parameters } of queries) {
|
|
521
|
+
const result = await this.executeInConnection(connection, query, parameters);
|
|
522
|
+
results.push(result);
|
|
523
|
+
}
|
|
524
|
+
return results;
|
|
525
|
+
});
|
|
536
526
|
}
|
|
537
527
|
/**
|
|
538
528
|
* Returns a connection from the pool.
|
|
539
529
|
* Must call connection.release() when finished.
|
|
540
530
|
*
|
|
541
531
|
* @returns Database connection
|
|
532
|
+
* @throws {Error} If pool is unable to provide a connection (pool exhausted, connection timeout, etc.)
|
|
542
533
|
* @example
|
|
543
534
|
* const connection = await db.getConnection();
|
|
544
535
|
* try {
|
|
@@ -554,6 +545,7 @@ export class MySQL {
|
|
|
554
545
|
* Closes all connections in the pool.
|
|
555
546
|
* Call when shutting down the application.
|
|
556
547
|
*
|
|
548
|
+
* @throws {Error} If pool fails to close connections
|
|
557
549
|
* @example
|
|
558
550
|
* await db.end();
|
|
559
551
|
*/
|
package/dist/MySQL.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MySQL.js","sourceRoot":"","sources":["../src/MySQL.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MySQL.js","sourceRoot":"","sources":["../src/MySQL.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { MySQL } from './MySQL.js';
|
|
2
2
|
export { MySQL };
|
|
3
|
-
export type { ConnectionConfig, FieldPacket,
|
|
3
|
+
export type { BatchQuery, ConnectionConfig, FieldPacket, Pool, PoolOptions, QueryMetrics, QueryParameters, QueryResult, ResultSetHeader, RowDataPacket, TransactionCallback, TransactionResult, } from './types.js';
|
|
4
4
|
export declare const db: MySQL;
|
|
5
5
|
export default db;
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,IAAI,EACJ,WAAW,EACX,YAAY,EACZ,eAAe,EACf,WAAW,EACX,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,EAAE,OAAc,CAAC;AAC9B,eAAe,EAAE,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -4,16 +4,18 @@ export interface ConnectionConfig extends PoolOptions {
|
|
|
4
4
|
}
|
|
5
5
|
export type QueryParameters = Record<string, any> | any[];
|
|
6
6
|
export type QueryResult<T = any> = T extends RowDataPacket[] ? T : any;
|
|
7
|
-
export interface InsertResult {
|
|
8
|
-
insertId: number;
|
|
9
|
-
affectedRows: number;
|
|
10
|
-
}
|
|
11
|
-
export interface UpdateResult {
|
|
12
|
-
affectedRows: number;
|
|
13
|
-
}
|
|
14
7
|
export interface TransactionCallback {
|
|
15
8
|
(execute: (query: string, parameters?: QueryParameters) => Promise<any>): Promise<any>;
|
|
16
9
|
}
|
|
10
|
+
export interface TransactionResult<T = any> {
|
|
11
|
+
success: boolean;
|
|
12
|
+
result?: T;
|
|
13
|
+
error?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface BatchQuery {
|
|
16
|
+
query: string;
|
|
17
|
+
parameters?: QueryParameters;
|
|
18
|
+
}
|
|
17
19
|
export interface QueryMetrics {
|
|
18
20
|
query: string;
|
|
19
21
|
executionTime: number;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAErG,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC;AAE1D,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,aAAa,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;AAEvE,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAErG,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC;AAE1D,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,aAAa,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;AAEvE,MAAM,WAAW,mBAAmB;IAClC,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACxF;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,GAAG;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC"}
|
package/package.json
CHANGED