Commit iniziale

This commit is contained in:
Paolo A
2025-02-18 22:59:07 +00:00
commit 4bbf35cefb
6879 changed files with 623784 additions and 0 deletions

105
node_modules/tedious/benchmarks/query/call-tvp.js generated vendored Normal file
View File

@@ -0,0 +1,105 @@
const { createBenchmark, createConnection } = require('../common');
const { Request, TYPES } = require('tedious');
const bench = createBenchmark(main, {
n: [10, 100]
});
function main({ n }) {
createConnection(function(connection) {
const request = new Request(`
USE tempdb;
DROP TYPE IF EXISTS TediousTestType;
CREATE TYPE TediousTestType AS TABLE (
FileId uniqueidentifier,
FileNumber bigint,
FileVersion varchar(20),
FileCommitID varchar(40),
FileModel nvarchar(max)
);
`, (err) => {
if (err) {
throw err;
}
const request = new Request(`
CREATE PROCEDURE #__tediousTvpTest @tvp TediousTestType readonly AS BEGIN select COUNT(*) from @tvp END
`, (err) => {
if (err) {
throw err;
}
const tvp = {
columns: [
{
name: 'FileId',
type: TYPES.UniqueIdentifier
},
{
name: 'FileNumber',
type: TYPES.BigInt
},
{
name: 'FileVersion',
type: TYPES.VarChar,
length: 20,
},
{
name: 'FileCommitID',
type: TYPES.VarChar,
length: 40,
},
{
name: 'FileModel',
type: TYPES.NVarChar,
length: Infinity
}
],
rows: []
};
for (let i = 0; i < 500; i++) {
tvp.rows.push([
'6F9619FF-8B86-D011-B42D-00C04FC964FF',
1,
'12345',
'6b8bd41619d843b35b13478bb8aa88ea67039a05',
new Array(5000).join('x')
]);
}
let i = 0;
bench.start();
(function cb() {
const request = new Request('#__tediousTvpTest', (err) => {
if (err) {
throw err;
}
if (i++ === n) {
bench.end(n);
connection.close();
return;
}
cb();
});
request.addParameter('tvp', TYPES.TVP, tvp);
connection.callProcedure(request);
})();
});
connection.execSqlBatch(request);
});
connection.execSqlBatch(request);
});
}

View File

@@ -0,0 +1,46 @@
const { createBenchmark, createConnection } = require('../common');
const { Request, TYPES } = require('tedious');
const bench = createBenchmark(main, {
n: [10, 100],
size: [
10,
1024,
1024 * 1024,
10 * 1024 * 1024
]
});
function main({ n, size }) {
createConnection(function(connection) {
const buf = Buffer.alloc(size);
buf.fill('x');
let i = 0;
bench.start();
(function cb() {
const request = new Request('SELECT DATALENGTH(@value)', (err) => {
if (err) {
throw err;
}
if (i++ === n) {
bench.end(n);
connection.close();
return;
}
cb();
});
request.addParameter('value', TYPES.VarBinary, buf);
connection.execSql(request);
})();
});
}

View File

@@ -0,0 +1,63 @@
const { createBenchmark, createConnection } = require('../common');
const { Request, TYPES } = require('tedious');
const bench = createBenchmark(main, {
n: [10, 100, 1000],
size: [10, 100, 1000, 10000]
});
function main({ n, size }) {
createConnection(function(connection) {
const request = new Request('CREATE TABLE #benchmark ([id] int IDENTITY(1,1), [name] nvarchar(100), [description] nvarchar(max))', (err) => {
if (err) {
throw err;
}
(function insertNext(num, done) {
var request = new Request('INSERT INTO #benchmark ([name], [description]) VALUES (@name, @description)', (err) => {
if (err) {
throw err;
}
if (num === size) {
done();
} else {
insertNext(num + 1, done);
}
});
request.addParameter('name', TYPES.NVarChar, 'Row ' + n);
request.addParameter('description', TYPES.NVarChar, 'Example Test Description for Row ' + n);
connection.execSql(request);
})(0, (err) => {
let i = 0;
bench.start();
(function cb() {
const request = new Request('SELECT * FROM #benchmark', (err) => {
if (err) {
throw err;
}
if (i++ === n) {
bench.end(n);
connection.close();
return;
}
cb();
});
connection.execSql(request);
})();
});
});
connection.execSqlBatch(request);
});
}

View File

@@ -0,0 +1,50 @@
const { createBenchmark, createConnection } = require('../common');
const { Request, TYPES } = require('tedious');
const bench = createBenchmark(main, {
n: [10, 100, 1000],
size: [10, 100, 1000, 10000]
});
function main({ n, size }) {
createConnection(function(connection) {
const request = new Request('CREATE TABLE #benchmark ([value] nvarchar(max))', (err) => {
if (err) {
throw err;
}
var request = new Request('INSERT INTO #benchmark ([value]) VALUES (@value)', (err) => {
let i = 0;
bench.start();
(function cb() {
const request = new Request('SELECT * FROM #benchmark', (err) => {
if (err) {
throw err;
}
if (i++ === n) {
bench.end(n);
connection.close();
return;
}
cb();
});
connection.execSql(request);
})();
});
const value = 'a'.repeat(size);
request.addParameter('value', TYPES.NVarChar, value);
connection.execSql(request);
});
connection.execSqlBatch(request);
});
}

View File

@@ -0,0 +1,50 @@
const { createBenchmark, createConnection } = require('../common');
const { Request, TYPES } = require('tedious');
const bench = createBenchmark(main, {
n: [10, 100],
size: [10, 100, 1000, 10000, 1024 * 1024, 10 * 1024 * 1024]
});
function main({ n, size }) {
createConnection(function(connection) {
const request = new Request('CREATE TABLE #benchmark ([value] varbinary(max))', (err) => {
if (err) {
throw err;
}
var request = new Request('INSERT INTO #benchmark ([value]) VALUES (@value)', (err) => {
let i = 0;
bench.start();
(function cb() {
const request = new Request('SELECT * FROM #benchmark', (err) => {
if (err) {
throw err;
}
if (i++ === n) {
bench.end(n);
connection.close();
return;
}
cb();
});
connection.execSql(request);
})();
});
const value = Buffer.alloc(size, 'a');
request.addParameter('value', TYPES.VarBinary, value);
connection.execSql(request);
});
connection.execSqlBatch(request);
});
}