Socket
Socket
Sign inDemoInstall

mysql2

Package Overview
Dependencies
Maintainers
3
Versions
184
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mysql2 - npm Package Compare versions

Comparing version 3.9.2 to 3.9.3

10

lib/packets/column_definition.js

@@ -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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc