{"_id":"mysql-next","_rev":"10-fe81aa9bab0381eb3fbf6298835be2fe","name":"mysql-next","dist-tags":{"beta":"0.0.1-beta.4","latest":"0.2.2"},"versions":{"0.0.1-beta.1":{"name":"mysql-next","version":"0.0.1-beta.1","keywords":["mysql","sql","nodejs","tagged-template","lightweight","typescript"],"author":{"url":"https://github.com/luas10c","name":"Luciano Alves"},"license":"UNLICENSED","_id":"mysql-next@0.0.1-beta.1","maintainers":[{"name":"luas10c","email":"luas10c@gmail.com"}],"homepage":"https://github.com/luas10c/tsnite","bugs":{"url":"https://gitbub.com/luas10c/tsnite/issues"},"dist":{"shasum":"3f05e376828646750134e38b69600fc310a30bb7","tarball":"https://registry.npmjs.org/mysql-next/-/mysql-next-0.0.1-beta.1.tgz","fileCount":25,"integrity":"sha512-XZqDFSyZnQqf6BudzU56lq/Qg+8kZ/AAURxvXNp8gvHfGoIzbJd8/foxpQYv6k2FEiDiQacG7KgglNwza3qVAg==","signatures":[{"sig":"MEQCIHZ1gy9lfgGEsVLSKg2C+RH1lmZUUOZbzjKYMKF8c/AKAiBmNLBW+kcT31va+2/pgQeZXhzpUWptbAcmhtEIWGE6dA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100304},"type":"module","types":"./dist/types/index.d.ts","engines":{"node":"^20.9.0 || ^22.11.0 || ^24.11.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"9b80fa5f60fa5157497b483c0172cdd27459a309","scripts":{"lint":"eslint . --cache","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","prepare":"husky","test:ci":"jest --passWithNoTests --ci","prebuild":"rimraf dist","postbuild":"tsc-alias -f -p tsconfig.build.json && tsc -p tsconfig.build.json --removeComments false --declaration --emitDeclarationOnly --outDir dist/types","test:watch":"jest --passWithNoTests --watch","test:coverage":"jest --passWithNoTests --coverage","test:watchAll":"jest --passWithNoTests --watchAll"},"_npmUser":{"name":"luas10c","email":"luas10c@gmail.com"},"repository":{"url":"git+https://github.com/luas10c/tsnite.git","type":"github"},"_npmVersion":"11.8.0","description":"A fast, feature-rich MySQL client for Node.js","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","husky":"^9.1.7","dotenv":"^17.4.2","eslint":"^10.2.1","rimraf":"^6.1.3","globals":"^17.5.0","prettier":"^3.8.3","@swc/core":"^1.15.26","@swc/jest":"^0.2.39","tsc-alias":"^1.8.16","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.0","lint-staged":"^16.4.0","@jest/globals":"^30.3.0","@commitlint/cli":"^20.5.0","@faker-js/faker":"^10.4.0","typescript-eslint":"^8.58.2","eslint-plugin-jest":"^29.15.2","eslint-plugin-prettier":"^5.5.5","@commitlint/config-conventional":"^20.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mysql-next_0.0.1-beta.1_1776532933284_0.05873193470565763","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-beta.2":{"name":"mysql-next","version":"0.0.1-beta.2","keywords":["mysql","sql","nodejs","tagged-template","lightweight","typescript"],"author":{"url":"https://github.com/luas10c","name":"Luciano Alves"},"license":"MIT","_id":"mysql-next@0.0.1-beta.2","maintainers":[{"name":"luas10c","email":"luas10c@gmail.com"}],"homepage":"https://github.com/luas10c/mysql-next","bugs":{"url":"https://gitbub.com/luas10c/mysql-next/issues"},"dist":{"shasum":"431450ebd5e3d434166666f11981ba187ec5274a","tarball":"https://registry.npmjs.org/mysql-next/-/mysql-next-0.0.1-beta.2.tgz","fileCount":25,"integrity":"sha512-zZ2MlmBy2DuX4DZ8xszauRazfFF0KEZHvr5+zzYLQg7PLkJOapDj2ezmfgp8IZcwnf2fal/A1cyR/nVkupSmeg==","signatures":[{"sig":"MEYCIQCL3KF8YSEQJr8DXLUMH5dWAI1yV/UrFsZ2HgW0VcysfgIhAM7tRDMMAwrQWAK9btO2Ovyr2oXkNegp/Fw8i4fBHFVC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103113},"type":"module","types":"./dist/types/index.d.ts","engines":{"node":"^22.11.0 || ^24.11.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"9b80fa5f60fa5157497b483c0172cdd27459a309","scripts":{"lint":"eslint . --cache","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","prepare":"husky","test:ci":"jest --passWithNoTests --ci","prebuild":"rimraf dist","postbuild":"tsc-alias -f -p tsconfig.build.json && tsc -p tsconfig.build.json --removeComments false --declaration --emitDeclarationOnly --outDir dist/types","test:watch":"jest --passWithNoTests --watch","test:coverage":"jest --passWithNoTests --coverage","test:watchAll":"jest --passWithNoTests --watchAll"},"_npmUser":{"name":"luas10c","email":"luas10c@gmail.com"},"repository":{"url":"git+https://github.com/luas10c/mysql-next.git","type":"github"},"_npmVersion":"11.8.0","description":"A fast, feature-rich MySQL client for Node.js","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","husky":"^9.1.7","dotenv":"^17.4.2","eslint":"^10.2.1","rimraf":"^6.1.3","globals":"^17.5.0","prettier":"^3.8.3","@swc/core":"^1.15.26","@swc/jest":"^0.2.39","tsc-alias":"^1.8.16","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.0","lint-staged":"^16.4.0","@jest/globals":"^30.3.0","@commitlint/cli":"^20.5.0","@faker-js/faker":"^10.4.0","typescript-eslint":"^8.58.2","eslint-plugin-jest":"^29.15.2","eslint-plugin-prettier":"^5.5.5","@commitlint/config-conventional":"^20.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mysql-next_0.0.1-beta.2_1776540143806_0.9313015739451318","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-beta.3":{"name":"mysql-next","version":"0.0.1-beta.3","keywords":["mysql","sql","nodejs","tagged-template","lightweight","typescript"],"author":{"url":"https://github.com/luas10c","name":"Luciano Alves"},"license":"MIT","_id":"mysql-next@0.0.1-beta.3","maintainers":[{"name":"luas10c","email":"luas10c@gmail.com"}],"homepage":"https://github.com/luas10c/mysql-next","bugs":{"url":"https://gitbub.com/luas10c/mysql-next/issues"},"dist":{"shasum":"a4e73a88489569bae5c8bdb80c8be2e5566754bc","tarball":"https://registry.npmjs.org/mysql-next/-/mysql-next-0.0.1-beta.3.tgz","fileCount":25,"integrity":"sha512-DOd7fouR/2BZzvHOzeFGC/+O2Vn2+wjJIpF84Dl7MhSVPgqGPR9gwGMjuaDNqoTXabAXCRdMdxs54kd2wPgKzg==","signatures":[{"sig":"MEYCIQDTIBzFfMDxubV+C0XTlwJo05eX9+aHxHvQAMP6nCPstQIhAMLzvXd4t+PpbbTIrC8I/1DkO5vlcdprrJtkbfohnXvs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103133},"type":"module","types":"./dist/types/index.d.ts","engines":{"node":"^22.11.0 || ^24.11.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"9b80fa5f60fa5157497b483c0172cdd27459a309","scripts":{"lint":"eslint . --cache","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","prepare":"husky","test:ci":"jest --passWithNoTests --ci","prebuild":"rimraf dist","postbuild":"tsc-alias -f -p tsconfig.build.json && tsc -p tsconfig.build.json --removeComments false --declaration --emitDeclarationOnly --outDir dist/types","test:watch":"jest --passWithNoTests --watch","test:coverage":"jest --passWithNoTests --coverage","test:watchAll":"jest --passWithNoTests --watchAll"},"_npmUser":{"name":"luas10c","email":"luas10c@gmail.com"},"repository":{"url":"git+https://github.com/luas10c/mysql-next.git","type":"github"},"_npmVersion":"11.8.0","description":"A fast, feature-rich MySQL client for Node.js","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","husky":"^9.1.7","dotenv":"^17.4.2","eslint":"^10.2.1","rimraf":"^6.1.3","globals":"^17.5.0","prettier":"^3.8.3","@swc/core":"^1.15.26","@swc/jest":"^0.2.39","tsc-alias":"^1.8.16","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.0","lint-staged":"^16.4.0","@jest/globals":"^30.3.0","@commitlint/cli":"^20.5.0","@faker-js/faker":"^10.4.0","typescript-eslint":"^8.58.2","eslint-plugin-jest":"^29.15.2","eslint-plugin-prettier":"^5.5.5","@commitlint/config-conventional":"^20.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mysql-next_0.0.1-beta.3_1776541533197_0.0054269828511179785","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-beta.4":{"name":"mysql-next","version":"0.0.1-beta.4","keywords":["mysql","sql","nodejs","tagged-template","lightweight","typescript"],"author":{"url":"https://github.com/luas10c","name":"Luciano Alves"},"license":"MIT","_id":"mysql-next@0.0.1-beta.4","maintainers":[{"name":"luas10c","email":"luas10c@gmail.com"}],"homepage":"https://github.com/luas10c/mysql-next","bugs":{"url":"https://gitbub.com/luas10c/mysql-next/issues"},"dist":{"shasum":"00b67386ebb2da82c29f7ec32dd99794c2479cfb","tarball":"https://registry.npmjs.org/mysql-next/-/mysql-next-0.0.1-beta.4.tgz","fileCount":26,"integrity":"sha512-Vv7qytuENSc2lTYyx99k2YGeQJbsHIf0JKue1XU6awfCv/Y+PgZE3xiZD5lHEQOt3g/fgQNBeX14jna08d4e+w==","signatures":[{"sig":"MEQCIBWFChVXSDeN6Lm75s31mooYAIIDVXoRGJgRNK7lU62/AiBcA4C1YliGvZCIwf4Ne23G/Y1BwHr0fi32PZXcrbqyeg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128476},"type":"module","types":"./dist/types/index.d.ts","engines":{"node":"^22.11.0 || ^24.11.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"9b80fa5f60fa5157497b483c0172cdd27459a309","scripts":{"lint":"eslint . --cache","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","prepare":"husky","test:ci":"jest --passWithNoTests --ci","prebuild":"rimraf dist","postbuild":"tsc-alias -f -p tsconfig.build.json && tsc -p tsconfig.build.json --removeComments false --declaration --emitDeclarationOnly --outDir dist/types","test:watch":"jest --passWithNoTests --watch","test:coverage":"jest --passWithNoTests --coverage","test:watchAll":"jest --passWithNoTests --watchAll"},"_npmUser":{"name":"luas10c","email":"luas10c@gmail.com"},"repository":{"url":"git+https://github.com/luas10c/mysql-next.git","type":"github"},"_npmVersion":"11.8.0","description":"A fast, feature-rich MySQL client for Node.js","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","husky":"^9.1.7","dotenv":"^17.4.2","eslint":"^10.2.1","rimraf":"^6.1.3","globals":"^17.5.0","prettier":"^3.8.3","@swc/core":"^1.15.26","@swc/jest":"^0.2.39","tsc-alias":"^1.8.16","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.0","lint-staged":"^16.4.0","@jest/globals":"^30.3.0","@commitlint/cli":"^20.5.0","@faker-js/faker":"^10.4.0","typescript-eslint":"^8.58.2","eslint-plugin-jest":"^29.15.2","eslint-plugin-prettier":"^5.5.5","@commitlint/config-conventional":"^20.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mysql-next_0.0.1-beta.4_1776541814025_0.5046943522928542","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-beta.5":{"name":"mysql-next","version":"0.0.1-beta.5","keywords":["mysql","sql","nodejs","tagged-template","lightweight","typescript"],"author":{"url":"https://github.com/luas10c","name":"Luciano Alves"},"license":"MIT","_id":"mysql-next@0.0.1-beta.5","maintainers":[{"name":"luas10c","email":"luas10c@gmail.com"}],"homepage":"https://github.com/luas10c/mysql-next","bugs":{"url":"https://gitbub.com/luas10c/mysql-next/issues"},"dist":{"shasum":"eb6d02eacf71ad363dcc2b047d09fdeda5dd92cd","tarball":"https://registry.npmjs.org/mysql-next/-/mysql-next-0.0.1-beta.5.tgz","fileCount":26,"integrity":"sha512-eJfvrKxid7U/HIDO34HXI1sBuzwO4bEOJOetssZA3OoHhbCa1efhC/D7rU5N0BWjxGMBD0wSee1lqucmpVIaBg==","signatures":[{"sig":"MEYCIQCTRxL8XaCpoVUogRm9TUaldCtXRQyYDMMLV9fkIqLaLAIhAP4K+t5hKM/1FCRxNtRHazjW4JIbU4iEH/gOpIiI9/ww","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127370},"type":"module","types":"./dist/types/index.d.ts","engines":{"node":"^22.11.0 || ^24.11.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"9b80fa5f60fa5157497b483c0172cdd27459a309","scripts":{"lint":"eslint . --cache","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","prepare":"husky","test:ci":"jest --passWithNoTests --ci","prebuild":"rimraf dist","postbuild":"tsc-alias -f -p tsconfig.build.json && tsc -p tsconfig.build.json --removeComments false --declaration --emitDeclarationOnly --outDir dist/types","test:watch":"jest --passWithNoTests --watch","test:coverage":"jest --passWithNoTests --coverage","test:watchAll":"jest --passWithNoTests --watchAll"},"_npmUser":{"name":"luas10c","email":"luas10c@gmail.com"},"repository":{"url":"git+https://github.com/luas10c/mysql-next.git","type":"github"},"_npmVersion":"11.8.0","description":"A fast, feature-rich MySQL client for Node.js","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","husky":"^9.1.7","dotenv":"^17.4.2","eslint":"^10.2.1","rimraf":"^6.1.3","globals":"^17.5.0","prettier":"^3.8.3","@swc/core":"^1.15.26","@swc/jest":"^0.2.39","tsc-alias":"^1.8.16","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.0","lint-staged":"^16.4.0","@jest/globals":"^30.3.0","@commitlint/cli":"^20.5.0","@faker-js/faker":"^10.4.0","typescript-eslint":"^8.58.2","eslint-plugin-jest":"^29.15.2","eslint-plugin-prettier":"^5.5.5","@commitlint/config-conventional":"^20.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mysql-next_0.0.1-beta.5_1776542819707_0.35276434058296036","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-beta.6":{"name":"mysql-next","version":"0.0.1-beta.6","keywords":["mysql","sql","nodejs","tagged-template","lightweight","typescript"],"author":{"url":"https://github.com/luas10c","name":"Luciano Alves"},"license":"MIT","_id":"mysql-next@0.0.1-beta.6","maintainers":[{"name":"luas10c","email":"luas10c@gmail.com"}],"homepage":"https://github.com/luas10c/mysql-next","bugs":{"url":"https://gitbub.com/luas10c/mysql-next/issues"},"dist":{"shasum":"d3e32158143be8a87b7def0db74c13ad7dc20597","tarball":"https://registry.npmjs.org/mysql-next/-/mysql-next-0.0.1-beta.6.tgz","fileCount":26,"integrity":"sha512-j+4N9eBcCenWlkOnHSp4nLOskkYn5RInh+V4OX2uKuXrNslyqRKGD7Mgx4ASgJss9orxHGKnA7loZnnv9xMbNA==","signatures":[{"sig":"MEUCIQC34SALqYB82FpLF56cM5aUrGhLQgAtwPqol67K+bFpAQIgSegm0I9kBsGWHjJkTtJuW69CAO24jBxZDeEwfhSHpgo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119035},"type":"module","types":"./dist/types/index.d.ts","engines":{"node":"^22.11.0 || ^24.11.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"9b80fa5f60fa5157497b483c0172cdd27459a309","scripts":{"lint":"eslint . --cache","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","prepare":"husky","test:ci":"jest --passWithNoTests --ci","prebuild":"rimraf dist","postbuild":"tsc-alias -f -p tsconfig.build.json && tsc -p tsconfig.build.json --removeComments false --declaration --emitDeclarationOnly --outDir dist/types","test:watch":"jest --passWithNoTests --watch","test:coverage":"jest --passWithNoTests --coverage","test:watchAll":"jest --passWithNoTests --watchAll"},"_npmUser":{"name":"luas10c","email":"luas10c@gmail.com"},"repository":{"url":"git+https://github.com/luas10c/mysql-next.git","type":"github"},"_npmVersion":"11.8.0","description":"A fast, feature-rich MySQL client for Node.js","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","husky":"^9.1.7","dotenv":"^17.4.2","eslint":"^10.2.1","rimraf":"^6.1.3","globals":"^17.5.0","prettier":"^3.8.3","@swc/core":"^1.15.26","@swc/jest":"^0.2.39","tsc-alias":"^1.8.16","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.0","lint-staged":"^16.4.0","@jest/globals":"^30.3.0","@commitlint/cli":"^20.5.0","@faker-js/faker":"^10.4.0","typescript-eslint":"^8.58.2","eslint-plugin-jest":"^29.15.2","eslint-plugin-prettier":"^5.5.5","@commitlint/config-conventional":"^20.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mysql-next_0.0.1-beta.6_1776543682769_0.10232666859091233","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"mysql-next","version":"0.1.0","keywords":["driver","mysql","database","fast","secure"],"author":{"url":"https://github.com/luas10c","name":"Luciano Alves"},"license":"MIT","_id":"mysql-next@0.1.0","maintainers":[{"name":"luas10c","email":"luas10c@gmail.com"}],"homepage":"https://github.com/luas10c/mysql-next","bugs":{"url":"https://github.com/luas10c/mysql-next/issues"},"dist":{"shasum":"e4ad8cbff1e04e5828dcc6b0da12ac5b3e985747","tarball":"https://registry.npmjs.org/mysql-next/-/mysql-next-0.1.0.tgz","fileCount":25,"integrity":"sha512-a1h2EKTPgggZT7Cfu45+9KG6pZtcix5XYd/ew3EIQjd87YRMviW4+H4pHLTtRWYNeiIMoY3Tv8q3Po+aHPubTA==","signatures":[{"sig":"MEQCIEw0ooBjBmzObgOg62YGNX++DRQVhXWqOKEcTvCaSlVgAiAMijHsNPM966LdiCRdCqMx9UAmH+pOPpknn1rHrRzV6A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mysql-next@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":106650},"type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=20.11.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"eaee5b4422d1a31bddf462799f6074c61dad7d99","scripts":{"lint":"eslint --cache","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","prepare":"husky","test:ci":"jest --passWithNoTests --ci","prebuild":"rimraf dist","postbuild":"tsc-alias -f -p tsconfig.build.json","test:watch":"jest --passWithNoTests --watch","test:coverage":"jest --passWithNoTests --coverage","test:watchAll":"jest --passWithNoTests --watchAll","test:integration":"jest --config jest.integration.config.js --runInBand --passWithNoTests"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5057054b-2d5a-40cd-a474-f8efad731201"}},"repository":{"url":"git+https://github.com/luas10c/mysql-next.git","type":"github"},"_npmVersion":"11.12.1","description":"A fast, feature-rich MySQL client for Node.js","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","husky":"^9.1.7","dotenv":"^17.4.2","eslint":"^10.2.1","rimraf":"^6.1.3","globals":"^17.5.0","prettier":"^3.8.3","@swc/jest":"^0.2.39","tsc-alias":"^1.8.16","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.0","lint-staged":"^16.4.0","@jest/globals":"^30.3.0","@commitlint/cli":"^20.5.0","@faker-js/faker":"^10.4.0","typescript-eslint":"^8.59.0","eslint-plugin-jest":"^29.15.2","eslint-plugin-prettier":"^5.5.5","@commitlint/config-conventional":"^20.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mysql-next_0.1.0_1776923682675_0.7862813856259552","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"mysql-next","version":"0.2.0","keywords":["driver","mysql","database","fast","secure"],"author":{"url":"https://github.com/luas10c","name":"Luciano Alves"},"license":"MIT","_id":"mysql-next@0.2.0","maintainers":[{"name":"luas10c","email":"luas10c@gmail.com"}],"homepage":"https://github.com/luas10c/mysql-next","bugs":{"url":"https://github.com/luas10c/mysql-next/issues"},"dist":{"shasum":"d60fc5b75c16e68b8c4710249869c0e89e1f3a22","tarball":"https://registry.npmjs.org/mysql-next/-/mysql-next-0.2.0.tgz","fileCount":69,"integrity":"sha512-40DEAnrchXob2WE4yH+cVRTVsBgZvSk/7/6mT5+/3s7TqFj+8d/rl30p6H0hWAu+JsnDAkUu7mUo/lGrfDDGiw==","signatures":[{"sig":"MEQCICVjTiQdWEOnOpApCVKU8CeW+sfdN8OS+SuYO9HXPwwIAiA/g6/Dy5ISFUXbN82/t4+3Wy233qTh8mlb37MtfWVscg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":138977},"type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"e8b0ceb341c70549f3757227bc12c0f20b247365","scripts":{"lint":"eslint --cache --concurrency=auto","test":"jest --passWithNoTests","bench":"npm run build && node benchmarks/query-throughput.mjs","build":"tsc -p tsconfig.build.json","prepare":"husky","test:ci":"jest --passWithNoTests --ci","postbuild":"tsc-alias -f -p tsconfig.build.json","test:watch":"jest --passWithNoTests --watch","test:coverage":"jest --passWithNoTests --coverage","test:watchAll":"jest --passWithNoTests --watchAll","test:integration":"jest --config jest.integration.config.js --runInBand --passWithNoTests"},"_npmUser":{"name":"luas10c","email":"luas10c@gmail.com"},"repository":{"url":"git+https://github.com/luas10c/mysql-next.git","type":"github"},"_npmVersion":"11.17.0","description":"A fast, feature-rich MySQL client for Node.js","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.4.2","husky":"^9.1.7","dotenv":"^17.4.2","eslint":"^10.9.0","globals":"^17.5.0","@swc/jest":"^0.2.39","tsc-alias":"^1.9.2","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.2.0","lint-staged":"^17.3.0","@jest/globals":"^30.4.1","@commitlint/cli":"^21.2.2","@faker-js/faker":"^10.6.0","typescript-eslint":"^8.67.0","eslint-plugin-jest":"^29.16.1","@stylistic/eslint-plugin":"^5.10.0","@commitlint/config-conventional":"^21.2.2"},"_npmOperationalInternal":{"tmp":"tmp/mysql-next_0.2.0_1787424053417_0.6376814518576943","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"mysql-next","version":"0.2.1","keywords":["driver","mysql","database","fast","secure"],"author":{"url":"https://github.com/luas10c","name":"Luciano Alves"},"license":"MIT","_id":"mysql-next@0.2.1","maintainers":[{"name":"luas10c","email":"luas10c@gmail.com"}],"homepage":"https://github.com/luas10c/mysql-next","bugs":{"url":"https://github.com/luas10c/mysql-next/issues"},"dist":{"shasum":"ab85901c211ddbfd9de64441a2dd9f04ad56b1a2","tarball":"https://registry.npmjs.org/mysql-next/-/mysql-next-0.2.1.tgz","fileCount":69,"integrity":"sha512-t4B90sQpE8VFbKuQatCDtAG23kLX3UhJ9Fu/6IiXhs2k7tLQg3Uql8EN02d/YRn6YhAlTulQRoladjQPab5NAQ==","signatures":[{"sig":"MEUCIB6hUVcIj9b+OtnnVwd8Prj+2hjDFw42Dn0tq/Xe5QGyAiEAq9GBhnAGG7It3jctiOQRaMFxwyCRj9U3svN/jdvwT8o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":138989},"type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"8fd16245d274e6558d04e6d7af0dae72338060c9","scripts":{"lint":"eslint --cache --concurrency=auto","test":"jest --passWithNoTests","bench":"npm run build && node benchmarks/query-throughput.mjs","build":"tsc -p tsconfig.build.json","prepare":"husky","test:ci":"jest --passWithNoTests --ci","postbuild":"tsc-alias -f -p tsconfig.build.json","test:watch":"jest --passWithNoTests --watch","test:coverage":"jest --passWithNoTests --coverage","test:watchAll":"jest --passWithNoTests --watchAll","test:integration":"jest --config jest.integration.config.js --runInBand --passWithNoTests"},"_npmUser":{"name":"luas10c","email":"luas10c@gmail.com"},"repository":{"url":"git+https://github.com/luas10c/mysql-next.git","type":"github"},"_npmVersion":"11.17.0","description":"A fast, feature-rich MySQL client for Node.js","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.4.2","husky":"^9.1.7","dotenv":"^17.4.2","eslint":"^10.9.0","globals":"^17.5.0","@swc/jest":"^0.2.39","tsc-alias":"^1.9.2","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.2.0","lint-staged":"^17.3.0","@jest/globals":"^30.4.1","@commitlint/cli":"^21.2.2","@faker-js/faker":"^10.6.0","typescript-eslint":"^8.67.0","eslint-plugin-jest":"^29.16.1","@stylistic/eslint-plugin":"^5.10.0","@commitlint/config-conventional":"^21.2.2"},"_npmOperationalInternal":{"tmp":"tmp/mysql-next_0.2.1_1787442768910_0.8341747370148811","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"mysql-next","description":"🚀 A fast, feature-rich MySQL client for Node.js","version":"0.2.2","keywords":["driver","mysql","database","fast","secure"],"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.build.json","postbuild":"tsc-alias -f -p tsconfig.build.json","lint":"eslint --cache --concurrency=auto","test":"jest --passWithNoTests","test:ci":"jest --passWithNoTests --ci","test:integration":"jest --config jest.integration.config.js --runInBand --passWithNoTests","test:watch":"jest --passWithNoTests --watch","test:watchAll":"jest --passWithNoTests --watchAll","test:coverage":"jest --passWithNoTests --coverage","bench":"npm run build && node benchmarks/query-throughput.mjs","prepare":"husky"},"devDependencies":{"@commitlint/cli":"^21.2.2","@commitlint/config-conventional":"^21.2.2","@eslint/js":"^10.0.1","@faker-js/faker":"^10.6.0","@jest/globals":"^30.4.1","@stylistic/eslint-plugin":"^5.10.0","@swc/jest":"^0.2.39","@types/node":"^26.2.0","dotenv":"^17.4.2","eslint":"^10.9.0","eslint-plugin-jest":"^29.16.1","globals":"^17.5.0","husky":"^9.1.7","jest":"^30.4.2","lint-staged":"^17.3.0","tsc-alias":"^1.9.2","typescript":"^6.0.3","typescript-eslint":"^8.67.0"},"engines":{"node":">=22.0.0"},"author":{"name":"Luciano Alves","url":"https://github.com/luas10c"},"homepage":"https://github.com/luas10c/mysql-next","repository":{"type":"github","url":"git+https://github.com/luas10c/mysql-next.git"},"bugs":{"url":"https://github.com/luas10c/mysql-next/issues"},"license":"MIT","gitHead":"c6ea007d42a6a994d4584b41758192525343bf47","_id":"mysql-next@0.2.2","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-rYYWXJ/3MnrUV7ieKycWnYySCKzufE2yK7lJW05arnz8LpJAdqUBT9G9CdEnT6url31jtKuUac0dMy/L58OP5Q==","shasum":"296a1ba23c40e8f799e73a7dc17ed313c52b7c55","tarball":"https://registry.npmjs.org/mysql-next/-/mysql-next-0.2.2.tgz","fileCount":69,"unpackedSize":139534,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFl+mHhrYkLE8mVMaTwek4A2L9gETwHoEjnC4JHlY974AiAQ96dfqgdeatKha7093wQXR7IMJ0nHyTCsz/asVrrskQ=="}]},"_npmUser":{"name":"luas10c","email":"luas10c@gmail.com"},"directories":{},"maintainers":[{"name":"luas10c","email":"luas10c@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mysql-next_0.2.2_1787544077532_0.3078442917120936"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-18T17:22:13.214Z","modified":"2026-08-24T04:01:17.838Z","0.0.1-beta.1":"2026-04-18T17:22:13.414Z","0.0.1-beta.2":"2026-04-18T19:22:23.931Z","0.0.1-beta.3":"2026-04-18T19:45:33.332Z","0.0.1-beta.4":"2026-04-18T19:50:14.185Z","0.0.1-beta.5":"2026-04-18T20:06:59.891Z","0.0.1-beta.6":"2026-04-18T20:21:22.968Z","0.1.0":"2026-04-23T05:54:42.811Z","0.2.0":"2026-08-22T18:40:53.568Z","0.2.1":"2026-08-22T23:52:49.057Z","0.2.2":"2026-08-24T04:01:17.676Z"},"bugs":{"url":"https://github.com/luas10c/mysql-next/issues"},"author":{"name":"Luciano Alves","url":"https://github.com/luas10c"},"license":"MIT","homepage":"https://github.com/luas10c/mysql-next","keywords":["driver","mysql","database","fast","secure"],"repository":{"type":"github","url":"git+https://github.com/luas10c/mysql-next.git"},"description":"🚀 A fast, feature-rich MySQL client for Node.js","maintainers":[{"name":"luas10c","email":"luas10c@gmail.com"}],"readme":"<img src=\"https://github.com/luas10c/mysql-next/blob/main/mysql.png?raw=true\" alt=\"mysql-next\" width=\"344\" align=\"left\" hspace=\"18\" />\n\n- [Fast full-featured MySQL client for Node.js](https://github.com/luas10c/mysql-next)\n- 🏷️ ES6 Tagged Template\n- 🎯 Simple surface API\n- 🧩 Dynamic query support\n- 🔌 TCP, pooling, TLS\n- 🧠 Typed results\n\n<br clear=\"left\" />\n\n### Installation\n\n```bash\nnpm install mysql-next\n```\n\n### Quick Start\n\n```js\n// db.js\nimport mysql from 'mysql-next'\n\nconst sql = mysql('mysql://root:password@localhost:3306/app', {\n  max: 10,\n  idleTimeout: 30_000,\n  acquireTimeout: 30_000,\n  prepare: true,\n  maxStatements: 100\n})\n\nexport default sql\n```\n\n```js\n// users.js\nimport sql from './db.js'\n\nexport async function getUsersOver(age) {\n  const users = await sql`\n    select\n      id,\n      name,\n      age\n    from users\n    where age > ${age}\n  `\n\n  return users\n}\n\nexport async function insertUser({ name, age }) {\n  const result = await sql`\n    insert into users ${sql({ name, age })}\n  `\n\n  return result.lastInsertId\n}\n```\n\n## Connection\n\n### `mysql([url], [options])`\n\nYou can use either a `mysql://` url connection string or an options object to define your connection properties. When both are provided, explicit options override values from the url.\n\n```js\nconst sql = mysql('mysql://username:password@host:3306/database', {\n  host: '127.0.0.1',\n  port: 3306,\n  socketPath: undefined,\n  user: 'root',\n  password: 'secret',\n  database: 'app',\n  ssl: false,\n  connectTimeout: 10_000,\n  max: 10,\n  idleTimeout: 30_000,\n  acquireTimeout: 30_000,\n  prepare: true,\n  maxStatements: 100\n})\n```\n\n## Queries\n\n### `await sql\\`...\\``\n\n`mysql-next` uses tagged templates and sends interpolated values as bound parameters.\n\n```js\nconst users = await sql`\n  select\n    id,\n    name\n  from users\n  where age > ${60}\n`\n```\n\n```js\nconst name = 'Mur'\nconst age = 60\n\nconst users = await sql`\n  select\n    name,\n    age\n  from users\n  where name like ${name + '%'}\n    and age > ${age}\n`\n```\n\nDo not wrap interpolated values in quotes like `'${name}'`. The driver already turns them into bound parameters.\n\n## Building queries\n\n### Insert and update helpers\n\n```js\nconst user = {\n  name: 'Murray',\n  age: 68\n}\n\nawait sql`insert into users ${sql(user)}`\n\n// insert into users (`name`, `age`) values (?, ?)\n\nawait sql`\n  update users\n  set ${sql({ name: user.name, age: user.age }, 'update')}\n  where id = ${user.id}\n`\n\n// update users set `name` = ?, `age` = ? where id = ?\n```\n\n### Lists and partial fragments\n\n```js\nconst ids = [1, 2, 3]\n\nconst users = await sql`\n  select\n    *\n  from users\n  where id in ${sql(ids)}\n`\n\nconst olderThan = (x) => sql.fragment`and age > ${x}`\nconst filterAge = true\n\nawait sql`\n  select\n    *\n  from users\n  where name is not null\n  ${filterAge ? olderThan(50) : sql.fragment``}\n`\n```\n\n### SQL functions and raw fragments\n\n```js\nconst updatedAt = null\n\nawait sql`\n  update users\n  set updated_at = ${updatedAt || sql.unsafe('now()')}\n`\n```\n\nUse `sql.unsafe()` only when the SQL text is fully trusted.\n\nPrefer bound parameters whenever possible. `sql.unsafe()` and low-level helpers such as `escapeValue()` are not appropriate for untrusted user input.\n\n### Table and column names\n\nDynamic identifiers are supported with `sql.identifier()`.\n\n```js\nconst table = sql.identifier('users')\nconst column = sql.identifier('users.created_at')\n\nawait sql`\n  select ${column}\n  from ${table}\n`\n```\n\n## Transactions\n\n### `await sql.begin(fn)`\n\nUse `sql.begin` to start a transaction. A single connection is reserved for the callback and automatically committed or rolled back.\n\n```js\nconst user = await sql.begin(async (sql) => {\n  const result = await sql`\n    insert into users ${sql({ name: 'Murray', age: 68 })}\n  `\n\n  const users = await sql`\n    select *\n    from users\n    where id = ${result.lastInsertId}\n  `\n\n  return users[0]\n})\n```\n\nIf anything throws, `ROLLBACK` is issued automatically.\n\n### Manual transactions\n\n```js\nconst tx = await sql.begin()\n\ntry {\n  await tx`insert into users ${tx({ name: 'Murray', age: 68 })}`\n  await tx.commit()\n} catch (error) {\n  await tx.rollback()\n  throw error\n}\n```\n\n### Savepoints\n\n```js\nawait sql.begin(async (sql) => {\n  await sql.savepoint('create_profile', async () => {\n    await sql`insert into profiles ${sql({ user_id: 1 })}`\n  })\n})\n```\n\n## Result Array\n\n`SELECT` queries return arrays with metadata attached.\n\n```js\nconst rows = await sql`\n  select id, name\n  from users\n`\n\nrows.length\nrows.count\nrows.columns\nrows[0]?.id\n```\n\nMutating queries return command metadata.\n\n```js\nconst result = await sql`\n  insert into users ${sql({ name: 'Murray' })}\n`\n\nresult.command\nresult.count\nresult.affectedRows\nresult.lastInsertId\n```\n\n## Connection details\n\n### Options\n\n```js\nconst sql = mysql('mysql://username:password@host:3306/database', {\n  host: '127.0.0.1',\n  port: 3306,\n  socketPath: '/var/run/mysqld/mysqld.sock',\n  database: 'app',\n  user: 'root',\n  password: 'secret',\n  ssl: false,\n  connectTimeout: 10_000,\n  max: 10,\n  idleTimeout: 30_000,\n  acquireTimeout: 30_000,\n  prepare: true,\n  maxStatements: 100,\n  resetOnRelease: false,\n  types: {\n    decimal: (raw) => raw,\n    newdecimal: (raw) => raw\n  }\n})\n```\n\n| Option | Default | Description |\n| --- | --- | --- |\n| `resetOnRelease` | `false` | Sends `COM_RESET_CONNECTION` on every pool release, guaranteeing clean session state per borrow at the cost of one extra round trip (see [Benchmarks](#benchmarks)). |\n\n### Dynamic passwords\n\nIf your password needs to be resolved at connection time, pass a function.\n\n```js\nconst sql = mysql('mysql://root@localhost:3306/app', {\n  password: async () => process.env.DB_TOKEN ?? ''\n})\n```\n\n### SSL / TLS\n\n`mysql-next` can upgrade the connection to TLS during the MySQL handshake.\n\n```js\nconst sql = mysql({\n  host: 'db.example.com',\n  user: 'app',\n  password: 'secret',\n  database: 'main',\n  ssl: true\n})\n```\n\nCustom TLS options are also supported.\n\n```js\nconst sql = mysql('mysql://app:secret@db.example.com:3306/main', {\n  ssl: {\n    rejectUnauthorized: false\n  }\n})\n```\n\nAvoid `rejectUnauthorized: false` outside local development. It disables server certificate verification and weakens TLS protection.\n\n### Authentication plugins\n\n`mysql-next` currently supports these MySQL authentication plugins:\n\n- `mysql_native_password`\n- `caching_sha2_password`\n\nOther authentication plugins are rejected explicitly.\n\n### The connection pool\n\nConnections are created lazily. Instantiating `mysql()` does not open any connection by itself.\n\n```js\nconst sql = mysql() // no connection yet\n\nawait sql`select 1` // first connection is opened\nawait sql`select 1` // pooled connection reused\n\nawait Promise.all([sql`select 1`, sql`select 1`])\n```\n\n`max` controls the upper bound of concurrently active pooled connections.\n\nBy default, connections returned to the pool are handed back without a server round trip, keeping prepared statement caches warm across borrows (see [Benchmarks](#benchmarks)). Set `resetOnRelease: true` to send `COM_RESET_CONNECTION` on every release instead, guaranteeing that session state never leaks between consumers at the cost of one extra round trip per release.\n\n### Prepared statements\n\nPrepared statements are used automatically for parameterized queries when `prepare` is enabled.\n\n```js\nconst sql = mysql('mysql://root:password@localhost:3306/app', {\n  prepare: true,\n  maxStatements: 100\n})\n```\n\n- `prepare: false` disables prepared statement caching\n- `maxStatements` controls the per-connection statement cache size\n\n## Reserved and direct connections\n\n### `await sql.reserve()`\n\nReserve a pooled connection for isolated work.\n\n```ts\nconst reserved = await sql.reserve()\nawait reserved`select * from users`\nreserved.release()\n```\n\n### `await sql.connect()`\n\nCreate a dedicated connection outside the pool.\n\n```ts\nconst connection = await sql.connect()\n\nawait connection`select * from users`\n\nawait connection.end()\nawait sql.end()\n```\n\n## Custom types\n\nYou can override MySQL type parsers with the `types` option.\n\n```js\nimport Decimal from 'decimal.js'\nimport mysql from 'mysql-next'\n\nconst sql = mysql('mysql://root:password@localhost:3306/app', {\n  types: {\n    decimal: (raw) => new Decimal(raw),\n    newdecimal: (raw) => new Decimal(raw)\n  }\n})\n```\n\nSupported parser hooks: `types.decimal` and `types.newdecimal`.\n\n## Observability\n\nThe root client emits query events for pooled and dedicated connections.\n\n```js\nsql.on('query', (event) => {\n  console.log(event.sql)\n  console.log(event.protocol)\n  console.log(event.duration)\n  console.log(event.rowCount)\n  console.log(event.connectionId)\n  console.log(event.serverConnectionId)\n  console.log(event.errorCode)\n  console.log(event.sqlState)\n})\n```\n\nPool lifecycle events are also available.\n\n```js\nsql.on('connect', console.log)\nsql.on('acquire', console.log)\nsql.on('release', console.log)\nsql.on('drain', console.log)\nsql.on('error', console.error)\n```\n\n## Teardown / Cleanup\n\nTo ensure proper teardown on shutdown, call `await sql.end()`.\n\n```js\nawait sql.end()\n```\n\nThis rejects new queries, waits for active work to finish, and closes underlying connections.\n\nIf you need to close everything immediately, use:\n\n```js\nsql.destroy()\n```\n\n## Error handling\n\nErrors are thrown to the related query and never emitted as a global catch-all.\n\nServer errors are exposed as `MySQLError` with MySQL-specific metadata.\n\n```js\nimport { MySQLError } from 'mysql-next'\n\ntry {\n  await sql`select * from missing_table`\n} catch (error) {\n  if (error instanceof MySQLError) {\n    console.log(error.code)\n    console.log(error.sqlState)\n  }\n}\n```\n\nConnection and runtime errors from Node.js are forwarded as regular `Error` instances.\n\n## TypeScript support\n\nYou can pass the expected row list type directly to a query.\n\n```ts\ninterface User {\n  id: number\n  name: string\n}\n\nconst users = await sql<User[]>`select * from users`\nusers[0]?.id\nusers[0]?.name\n```\n\nYou can also use exported result types.\n\n```ts\nimport mysql, { type InsertResult, type SelectResult } from 'mysql-next'\n\nconst sql = mysql('mysql://root:password@localhost:3306/app')\n\nconst users = await sql<SelectResult<{ id: number; name: string }>>`\n  select id, name\n  from users\n`\n\nconst insert = await sql<InsertResult>`\n  insert into users ${sql({ name: 'Murray' })}\n`\n\nconsole.log(insert.lastInsertId)\n```\n\nExported result types include `QueryResult`, `QueryRows`, `SelectResult<T>`, `CommandResult`, `InsertResult`, `UpdateResult`, and `DeleteResult`.\n\n## Migration tools\n\n`mysql-next` does not ship with a migration system. Use your existing migration tool or execute SQL files during setup.\n\n## Benchmarks\n\nHead-to-head against `mysql2` and the classic `mysql` package on the same MySQL 8.0 server (Docker), sequential clients (`max: 1`), identical workloads and pool sizing. Measured with `perf_hooks` after warmup.\n\n| Workload                    | mysql-next | mysql2     | mysql (classic) |\n| --------------------------- | ---------: | ---------: | ---------------: |\n| Text query — `SELECT 1`     | **9,978/s**| 7,039/s    | 6,171/s         |\n| Prepared statement + params | **10,394/s**| 7,520/s   | 6,690/s *       |\n| Resultset — 200 rows        | **554/s**  | 535/s      | 544/s           |\n| Pool acquire + release      | **406,721/s**| 231,554/s| 15,358/s        |\n\nRatios versus the runner-up per workload: **1.42x**, **1.38x**, **1.04x** and **1.76x**.\n\n\\* The classic `mysql` package has no server-side prepare; its parameterized workload interpolates values client-side before sending.\n\nNumbers from a representative single run on Linux / Node 24; absolute values vary by machine and by run (the resultset workload is network/server-bound), but mysql-next leads or ties on every workload across repeated runs. Row decoding uses per-column compiled readers, keeping per-cell work allocation-free. The classic driver's low pool-cycling score comes from its connection-borrow handshake (`COM_PING` + auth check), which both modern drivers skip.\n\n### Reproducing\n\n```bash\nnpm run bench\n```\n\nRequires a running MySQL instance reachable through `DATABASE_URL` (or `.env.local`). The script creates the target database if missing and prints the full table above, including heap deltas and the opt-in safety-mode row described below.\n\n### The safety trade-off\n\nBy default the pool returns connections to the idle queue **without** a server round trip, which keeps prepared statement caches warm across borrows — this is what the numbers above measure, and it matches how mainstream drivers behave.\n\nIf your app shares pools across tenants or needs guaranteed clean session state (user variables, temp tables, locks), opt in:\n\n```js\nconst sql = mysql(url, { resetOnRelease: true })\n```\n\nThis sends `COM_RESET_CONNECTION` on every release: one extra round trip per release plus a re-prepare per statement. On the same machine, prepared statements in this mode run at ~4,500 ops/s versus ~10,400 ops/s in default mode. Correctness first when you need it, speed first when you don't.\n\n## Support\n\nEnjoying this tool? Consider supporting the project.\n\n<p>\n  <a href=\"https://buymeacoffee.com/luas10c\" target=\"_blank\" rel=\"noopener noreferrer\"><img src=\"https://github.com/luas10c/mysql-next/blob/main/buymeacoffe.png?raw=true\" alt=\"Buy me a coffee\" width=\"180\" /></a>\n</p>\n\n## License\n\n[MIT](LICENSE)\n","readmeFilename":"README.md"}