Comparing version 3.9.2 to 3.9.3
@@ -50,3 +50,3 @@ 'use strict'; | ||
this.encoding === 'binary' ? this._clientEncoding : this.encoding, | ||
_nameStart, | ||
_nameStart, | ||
_nameStart + _nameLength | ||
@@ -94,3 +94,3 @@ ); | ||
} else if (f === 'NOT_NULL') { | ||
flagNames.push('NOT NULL'); | ||
flagNames.push('NOT NULL'); | ||
} else if (f === 'BINARY') { | ||
@@ -103,3 +103,3 @@ // ignore flag for now | ||
// note that only first column has MULTIPLE_KEY flag set in this case | ||
// so there is no good way of knowing that this is part of index just | ||
// so there is no good way of knowing that this is part of index just | ||
// by looking at indifidual field flags | ||
@@ -271,6 +271,6 @@ } else if (f === 'NO_DEFAULT_VALUE') { | ||
this.encoding === 'binary' ? this._clientEncoding : this.encoding, | ||
start, | ||
start, | ||
end | ||
); | ||
Object.defineProperty(this, name, { | ||
@@ -277,0 +277,0 @@ value: val, |
@@ -6,22 +6,34 @@ 'use strict'; | ||
const parserCache = new LRU({ | ||
max: 15000 | ||
max: 15000, | ||
}); | ||
function keyFromFields(type, fields, options, config) { | ||
let res = | ||
`${type}` + | ||
`/${typeof options.nestTables}` + | ||
`/${options.nestTables}` + | ||
`/${options.rowsAsArray}` + | ||
`/${options.supportBigNumbers || config.supportBigNumbers}` + | ||
`/${options.bigNumberStrings || config.bigNumberStrings}` + | ||
`/${typeof options.typeCast}` + | ||
`/${options.timezone || config.timezone}` + | ||
`/${options.decimalNumbers}` + | ||
`/${options.dateStrings}`; | ||
const res = [ | ||
type, | ||
typeof options.nestTables, | ||
options.nestTables, | ||
Boolean(options.rowsAsArray), | ||
Boolean(options.supportBigNumbers || config.supportBigNumbers), | ||
Boolean(options.bigNumberStrings || config.bigNumberStrings), | ||
typeof options.typeCast, | ||
options.timezone || config.timezone, | ||
Boolean(options.decimalNumbers), | ||
options.dateStrings, | ||
]; | ||
for (let i = 0; i < fields.length; ++i) { | ||
const field = fields[i]; | ||
res += `/${field.name}:${field.columnType}:${field.length}:${field.schema}:${field.table}:${field.flags}:${field.characterSet}`; | ||
res.push([ | ||
field.name, | ||
field.columnType, | ||
field.length, | ||
field.schema, | ||
field.table, | ||
field.flags, | ||
field.characterSet, | ||
]); | ||
} | ||
return res; | ||
return JSON.stringify(res, null, 0); | ||
} | ||
@@ -53,3 +65,4 @@ | ||
setMaxCache: setMaxCache, | ||
clearCache: clearCache | ||
clearCache: clearCache, | ||
_keyFromFields: keyFromFields, | ||
}; |
{ | ||
"name": "mysql2", | ||
"version": "3.9.2", | ||
"version": "3.9.3", | ||
"description": "fast mysql driver. Implements core protocol, prepared statements, ssl and compression in native JS", | ||
@@ -11,6 +11,8 @@ "main": "index.js", | ||
"lint:docs": "eslint Contributing.md README.md", | ||
"test": "node ./test/run.js", | ||
"test:builtin-node-runner": "NODE_V8_COVERAGE=./coverage node --test --experimental-test-coverage test/builtin-runner", | ||
"lint:typings": "npx prettier --check ./typings", | ||
"lint:tests": "npx prettier --check ./test", | ||
"test": "poku --debug --include=\"test/esm,test/unit,test/integration\"", | ||
"test:bun": "poku --debug --platform=\"bun\" --include=\"test/esm,test/unit,test/integration\"", | ||
"test:tsc-build": "cd \"test/tsc-build\" && npx tsc -p \"tsconfig.json\"", | ||
"coverage-test": "c8 -r cobertura -r lcov -r text node ./test/run.js", | ||
"coverage-test": "c8 -r cobertura -r lcov -r text npm run test", | ||
"benchmark": "node ./benchmarks/benchmark.js", | ||
@@ -79,11 +81,11 @@ "prettier": "prettier --single-quote --trailing-comma none --write \"{lib,test}/**/*.js\"", | ||
"eslint-plugin-async-await": "0.0.0", | ||
"eslint-plugin-markdown": "^3.0.0", | ||
"eslint-plugin-markdown": "^4.0.1", | ||
"husky": "^9.0.2", | ||
"lint-staged": "^15.0.1", | ||
"poku": "^1.8.1", | ||
"portfinder": "^1.0.28", | ||
"prettier": "^3.0.0", | ||
"progress": "^2.0.3", | ||
"typescript": "^5.0.2", | ||
"utest": "0.0.8" | ||
"typescript": "^5.0.2" | ||
} | ||
} |
@@ -34,2 +34,6 @@ [npm-image]: https://img.shields.io/npm/v/mysql2.svg | ||
[docs-contributing]: https://sidorares.github.io/node-mysql2/docs/contributing/website | ||
[coverage]: https://img.shields.io/codecov/c/github/sidorares/node-mysql2 | ||
[coverage-url]: https://app.codecov.io/github/sidorares/node-mysql2 | ||
[ci-url]: https://github.com/sidorares/node-mysql2/actions/workflows/ci-coverage.yml?query=branch%3Amaster | ||
[ci-image]: https://img.shields.io/github/actions/workflow/status/sidorares/node-mysql2/ci-coverage.yml?event=push&style=flat&label=CI&branch=master | ||
@@ -41,2 +45,4 @@ # MySQL2 | ||
[![Node.js Version][node-version-image]][node-version-url] | ||
[![GitHub Workflow Status (with event)][ci-image]][ci-url] | ||
[![Codecov][coverage]][coverage-url] | ||
[![License][license-image]][license-url] | ||
@@ -107,5 +113,5 @@ | ||
Want to improve something in **MySQL2**? | ||
Want to improve something in **MySQL2**? | ||
Please check [Contributing.md][contributing] for detailed instruction on how to get started. | ||
To contribute in **MySQL2 Documentation**, please visit the [Website Contributing Guidelines][docs-contributing] for detailed instruction on how to get started. |
@@ -65,3 +65,3 @@ import { Pool as BasePool, PoolOptions } from './lib/Pool.js'; | ||
stringifyObjects?: boolean, | ||
timeZone?: string | ||
timeZone?: string, | ||
): string; | ||
@@ -73,3 +73,3 @@ | ||
stringifyObjects?: boolean, | ||
timeZone?: string | ||
timeZone?: string, | ||
): string; | ||
@@ -76,0 +76,0 @@ |
@@ -8,3 +8,3 @@ import { RsaPublicKey, RsaPrivateKey, KeyLike } from 'crypto'; | ||
}) => ( | ||
pluginData: Buffer | ||
pluginData: Buffer, | ||
) => Promise<string> | string | Buffer | Promise<Buffer> | null; | ||
@@ -11,0 +11,0 @@ |
@@ -46,4 +46,4 @@ import { EventEmitter } from 'events'; | ||
err: NodeJS.ErrnoException | null, | ||
connection: PoolConnection | ||
) => any | ||
connection: PoolConnection, | ||
) => any, | ||
): void; | ||
@@ -54,3 +54,3 @@ | ||
end( | ||
callback?: (err: NodeJS.ErrnoException | null, ...args: any[]) => any | ||
callback?: (err: NodeJS.ErrnoException | null, ...args: any[]) => any, | ||
): void; | ||
@@ -57,0 +57,0 @@ |
@@ -9,3 +9,3 @@ import { EventEmitter } from 'events'; | ||
declare class QueryableAndExecutableBase extends QueryableBaseClass( | ||
ExecutableBaseClass(EventEmitter) | ||
ExecutableBaseClass(EventEmitter), | ||
) {} | ||
@@ -44,4 +44,4 @@ | ||
err: NodeJS.ErrnoException | null, | ||
connection: PoolConnection | ||
) => any | ||
connection: PoolConnection, | ||
) => any, | ||
): void; | ||
@@ -62,4 +62,4 @@ } | ||
err: NodeJS.ErrnoException | null, | ||
connection: PoolConnection | ||
) => void | ||
connection: PoolConnection, | ||
) => void, | ||
): void; | ||
@@ -70,4 +70,4 @@ getConnection( | ||
err: NodeJS.ErrnoException | null, | ||
connection: PoolConnection | ||
) => void | ||
connection: PoolConnection, | ||
) => void, | ||
): void; | ||
@@ -79,4 +79,4 @@ getConnection( | ||
err: NodeJS.ErrnoException | null, | ||
connection: PoolConnection | ||
) => void | ||
connection: PoolConnection, | ||
) => void, | ||
): void; | ||
@@ -83,0 +83,0 @@ |
@@ -20,3 +20,3 @@ declare interface FieldPacket { | ||
type?: number; | ||
columnType?: number | ||
columnType?: number; | ||
zerofill?: boolean; | ||
@@ -23,0 +23,0 @@ typeName?: string; |
@@ -10,2 +10,11 @@ import { OkPacket } from './OkPacket.js'; | ||
export type QueryResult = | ||
| OkPacket | ||
| ResultSetHeader | ||
| ResultSetHeader[] | ||
| RowDataPacket[] | ||
| RowDataPacket[][] | ||
| OkPacket[] | ||
| ProcedureCallPacket; | ||
export { | ||
@@ -12,0 +21,0 @@ OkPacket, |
@@ -20,5 +20,5 @@ /** | ||
message: string; | ||
procotol41: boolean; | ||
protocol41: boolean; | ||
} | ||
export { OkPacket }; |
@@ -10,5 +10,5 @@ import { OkPacket } from './OkPacket.js'; | ||
: T extends ResultSetHeader | OkPacket | ||
? ResultSetHeader | ||
: [RowDataPacket[], ResultSetHeader] | ResultSetHeader; | ||
? ResultSetHeader | ||
: [RowDataPacket[], ResultSetHeader] | ResultSetHeader; | ||
export { ProcedureCallPacket }; |
@@ -0,9 +1,3 @@ | ||
import { FieldPacket, QueryResult } from '../packets/index.js'; | ||
import { | ||
OkPacket, | ||
FieldPacket, | ||
RowDataPacket, | ||
ResultSetHeader, | ||
ProcedureCallPacket, | ||
} from '../packets/index.js'; | ||
import { | ||
Query, | ||
@@ -16,30 +10,12 @@ QueryError, | ||
export declare function ExecutableBase<T extends QueryableConstructor>( | ||
Base?: T | ||
Base?: T, | ||
): { | ||
new (...args: any[]): { | ||
execute< | ||
T extends | ||
| OkPacket | ||
| ResultSetHeader | ||
| ResultSetHeader[] | ||
| RowDataPacket[] | ||
| RowDataPacket[][] | ||
| OkPacket[] | ||
| ProcedureCallPacket | ||
>( | ||
execute<T extends QueryResult>( | ||
sql: string, | ||
callback?: | ||
| ((err: QueryError | null, result: T, fields: FieldPacket[]) => any) | ||
| undefined | ||
| undefined, | ||
): Query; | ||
execute< | ||
T extends | ||
| OkPacket | ||
| ResultSetHeader | ||
| ResultSetHeader[] | ||
| RowDataPacket[] | ||
| RowDataPacket[][] | ||
| OkPacket[] | ||
| ProcedureCallPacket | ||
>( | ||
execute<T extends QueryResult>( | ||
sql: string, | ||
@@ -49,29 +25,11 @@ values: any, | ||
| ((err: QueryError | null, result: T, fields: FieldPacket[]) => any) | ||
| undefined | ||
| undefined, | ||
): Query; | ||
execute< | ||
T extends | ||
| OkPacket | ||
| ResultSetHeader | ||
| ResultSetHeader[] | ||
| RowDataPacket[] | ||
| RowDataPacket[][] | ||
| OkPacket[] | ||
| ProcedureCallPacket | ||
>( | ||
execute<T extends QueryResult>( | ||
options: QueryOptions, | ||
callback?: | ||
| ((err: QueryError | null, result: T, fields?: FieldPacket[]) => any) | ||
| undefined | ||
| undefined, | ||
): Query; | ||
execute< | ||
T extends | ||
| OkPacket | ||
| ResultSetHeader | ||
| ResultSetHeader[] | ||
| RowDataPacket[] | ||
| RowDataPacket[][] | ||
| OkPacket[] | ||
| ProcedureCallPacket | ||
>( | ||
execute<T extends QueryResult>( | ||
options: QueryOptions, | ||
@@ -81,5 +39,5 @@ values: any, | ||
| ((err: QueryError | null, result: T, fields: FieldPacket[]) => any) | ||
| undefined | ||
| undefined, | ||
): Query; | ||
}; | ||
} & T; |
@@ -19,6 +19,10 @@ import { Sequence } from './Sequence.js'; | ||
| OkPacket[] | ||
| ResultSetHeader | ||
| ResultSetHeader, | ||
>( | ||
parameters: any | any[] | { [param: string]: any }, | ||
callback?: (err: QueryError | null, result: T, fields: FieldPacket[]) => any | ||
callback?: ( | ||
err: QueryError | null, | ||
result: T, | ||
fields: FieldPacket[], | ||
) => any, | ||
): Query; | ||
@@ -57,7 +61,7 @@ } | ||
event: 'fields', | ||
listener: (fields: FieldPacket, index: number) => any | ||
listener: (fields: FieldPacket, index: number) => any, | ||
): this; | ||
on( | ||
event: 'result', | ||
listener: (result: RowDataPacket | OkPacket, index: number) => any | ||
listener: (result: RowDataPacket | OkPacket, index: number) => any, | ||
): this; | ||
@@ -64,0 +68,0 @@ on(event: 'end', listener: () => any): this; |
@@ -1,65 +0,21 @@ | ||
import { | ||
OkPacket, | ||
FieldPacket, | ||
RowDataPacket, | ||
ResultSetHeader, | ||
ProcedureCallPacket, | ||
} from '../../packets/index.js'; | ||
import { FieldPacket, QueryResult } from '../../packets/index.js'; | ||
import { QueryOptions, QueryableConstructor } from '../Query.js'; | ||
export declare function ExecutableBase<T extends QueryableConstructor>( | ||
Base?: T | ||
Base?: T, | ||
): { | ||
new (...args: any[]): { | ||
execute< | ||
T extends | ||
| OkPacket | ||
| ResultSetHeader | ||
| ResultSetHeader[] | ||
| RowDataPacket[] | ||
| RowDataPacket[][] | ||
| OkPacket[] | ||
| ProcedureCallPacket | ||
>( | ||
sql: string | ||
): Promise<[T, FieldPacket[]]>; | ||
execute< | ||
T extends | ||
| OkPacket | ||
| ResultSetHeader | ||
| ResultSetHeader[] | ||
| RowDataPacket[] | ||
| RowDataPacket[][] | ||
| OkPacket[] | ||
| ProcedureCallPacket | ||
>( | ||
execute<T extends QueryResult>(sql: string): Promise<[T, FieldPacket[]]>; | ||
execute<T extends QueryResult>( | ||
sql: string, | ||
values: any | ||
values: any, | ||
): Promise<[T, FieldPacket[]]>; | ||
execute< | ||
T extends | ||
| OkPacket | ||
| ResultSetHeader | ||
| ResultSetHeader[] | ||
| RowDataPacket[] | ||
| RowDataPacket[][] | ||
| OkPacket[] | ||
| ProcedureCallPacket | ||
>( | ||
options: QueryOptions | ||
execute<T extends QueryResult>( | ||
options: QueryOptions, | ||
): Promise<[T, FieldPacket[]]>; | ||
execute< | ||
T extends | ||
| OkPacket | ||
| ResultSetHeader | ||
| ResultSetHeader[] | ||
| RowDataPacket[] | ||
| RowDataPacket[][] | ||
| OkPacket[] | ||
| ProcedureCallPacket | ||
>( | ||
execute<T extends QueryResult>( | ||
options: QueryOptions, | ||
values: any | ||
values: any, | ||
): Promise<[T, FieldPacket[]]>; | ||
}; | ||
} & T; |
@@ -1,65 +0,21 @@ | ||
import { | ||
OkPacket, | ||
FieldPacket, | ||
RowDataPacket, | ||
ResultSetHeader, | ||
ProcedureCallPacket, | ||
} from '../../packets/index.js'; | ||
import { FieldPacket, QueryResult } from '../../packets/index.js'; | ||
import { QueryOptions, QueryableConstructor } from '../Query.js'; | ||
export declare function QueryableBase<T extends QueryableConstructor>( | ||
Base?: T | ||
Base?: T, | ||
): { | ||
new (...args: any[]): { | ||
query< | ||
T extends | ||
| OkPacket | ||
| ResultSetHeader | ||
| ResultSetHeader[] | ||
| RowDataPacket[] | ||
| RowDataPacket[][] | ||
| OkPacket[] | ||
| ProcedureCallPacket | ||
>( | ||
sql: string | ||
): Promise<[T, FieldPacket[]]>; | ||
query< | ||
T extends | ||
| OkPacket | ||
| ResultSetHeader | ||
| ResultSetHeader[] | ||
| RowDataPacket[] | ||
| RowDataPacket[][] | ||
| OkPacket[] | ||
| ProcedureCallPacket | ||
>( | ||
query<T extends QueryResult>(sql: string): Promise<[T, FieldPacket[]]>; | ||
query<T extends QueryResult>( | ||
sql: string, | ||
values: any | ||
values: any, | ||
): Promise<[T, FieldPacket[]]>; | ||
query< | ||
T extends | ||
| OkPacket | ||
| ResultSetHeader | ||
| ResultSetHeader[] | ||
| RowDataPacket[] | ||
| RowDataPacket[][] | ||
| OkPacket[] | ||
| ProcedureCallPacket | ||
>( | ||
options: QueryOptions | ||
query<T extends QueryResult>( | ||
options: QueryOptions, | ||
): Promise<[T, FieldPacket[]]>; | ||
query< | ||
T extends | ||
| OkPacket | ||
| ResultSetHeader | ||
| ResultSetHeader[] | ||
| RowDataPacket[] | ||
| RowDataPacket[][] | ||
| OkPacket[] | ||
| ProcedureCallPacket | ||
>( | ||
query<T extends QueryResult>( | ||
options: QueryOptions, | ||
values: any | ||
values: any, | ||
): Promise<[T, FieldPacket[]]>; | ||
}; | ||
} & T; |
@@ -0,9 +1,3 @@ | ||
import { FieldPacket, QueryResult } from '../packets/index.js'; | ||
import { | ||
OkPacket, | ||
FieldPacket, | ||
RowDataPacket, | ||
ResultSetHeader, | ||
ProcedureCallPacket, | ||
} from '../packets/index.js'; | ||
import { | ||
Query, | ||
@@ -16,30 +10,12 @@ QueryError, | ||
export declare function QueryableBase<T extends QueryableConstructor>( | ||
Base?: T | ||
Base?: T, | ||
): { | ||
new (...args: any[]): { | ||
query< | ||
T extends | ||
| OkPacket | ||
| ResultSetHeader | ||
| ResultSetHeader[] | ||
| RowDataPacket[] | ||
| RowDataPacket[][] | ||
| OkPacket[] | ||
| ProcedureCallPacket | ||
>( | ||
query<T extends QueryResult>( | ||
sql: string, | ||
callback?: | ||
| ((err: QueryError | null, result: T, fields: FieldPacket[]) => any) | ||
| undefined | ||
| undefined, | ||
): Query; | ||
query< | ||
T extends | ||
| OkPacket | ||
| ResultSetHeader | ||
| ResultSetHeader[] | ||
| RowDataPacket[] | ||
| RowDataPacket[][] | ||
| OkPacket[] | ||
| ProcedureCallPacket | ||
>( | ||
query<T extends QueryResult>( | ||
sql: string, | ||
@@ -49,29 +25,11 @@ values: any, | ||
| ((err: QueryError | null, result: T, fields: FieldPacket[]) => any) | ||
| undefined | ||
| undefined, | ||
): Query; | ||
query< | ||
T extends | ||
| OkPacket | ||
| ResultSetHeader | ||
| ResultSetHeader[] | ||
| RowDataPacket[] | ||
| RowDataPacket[][] | ||
| OkPacket[] | ||
| ProcedureCallPacket | ||
>( | ||
query<T extends QueryResult>( | ||
options: QueryOptions, | ||
callback?: | ||
| ((err: QueryError | null, result: T, fields?: FieldPacket[]) => any) | ||
| undefined | ||
| undefined, | ||
): Query; | ||
query< | ||
T extends | ||
| OkPacket | ||
| ResultSetHeader | ||
| ResultSetHeader[] | ||
| RowDataPacket[] | ||
| RowDataPacket[][] | ||
| OkPacket[] | ||
| ProcedureCallPacket | ||
>( | ||
query<T extends QueryResult>( | ||
options: QueryOptions, | ||
@@ -81,5 +39,5 @@ values: any, | ||
| ((err: QueryError | null, result: T, fields: FieldPacket[]) => any) | ||
| undefined | ||
| undefined, | ||
): Query; | ||
}; | ||
} & T; |
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
709360
16556
115