diff --git a/lib/connection.js b/lib/connection.js index 7033ba4f..557c85cb 100755 --- a/lib/connection.js +++ b/lib/connection.js @@ -442,3 +442,5 @@ class ConnectionWrapper { } exports.PrivateConnection = PrivateConnection + +exports.ConnectionWrapper = ConnectionWrapper // test/common/fake-native.js builds one over a fake driver diff --git a/test/common/fake-native.js b/test/common/fake-native.js new file mode 100644 index 00000000..73d06d6e --- /dev/null +++ b/test/common/fake-native.js @@ -0,0 +1,179 @@ +'use strict' + +// a fake native Connection, for testing the JS layer (queue, reader, notifier) without a +// server. it replays a log recorded from the real driver (test/contract/native-tap.js): +// when JS makes a call, the fake matches it to the recorded call, and gives back what the +// driver gave back then. +// +// results are released in causal order: a recorded result is delivered only once JS has +// made every call recorded before it, one result per tick. so a query whose recorded result +// is HY008 waits until JS has actually sent the cancel - no timestamps needed. +// +// it also checks, whatever the log says, that JS respects the driver: +// overlap a second call (cancel apart) while one is still in flight on the connection +// after release a call on a statement that has been released +// after close a call once the connection is closed +// diverged a call that is not the next one recorded for that query +// unrecorded a call the log has nothing for (it is never answered) +// stalled nothing can move: JS waits on a result that waits on a call JS never makes + +const path = require('path') +const { decode } = require('../contract/native-tap') + +const STALL_MS = 1000 + +class ReplayNative { + constructor (log, { stallMs = STALL_MS } = {}) { + this.log = log + this.stallMs = stallMs + this.consumed = new Set() // recorded call ids JS has made + this.callbacks = new Map() // recorded call id -> JS callback + this.stateCallbacks = new Map() // recorded call id -> JS stateChangeCallback + this.cursor = 0 + this.delivering = false + this.inFlight = new Map() // recorded call id -> name, main calls only (not cancel) + this.released = new Set() // statementIds + this.closed = false + this.violations = [] + this.stallTimer = null + } + + violation (kind, detail) { + this.violations.push(`${kind}: ${detail}`) + } + + // the recorded calls JS has not made + unconsumed () { + return this.log.filter(e => e.ev === 'call' && !this.consumed.has(e.id)).map(e => `${e.name}(${JSON.stringify(e.args[0])})`) + } + + match (name, args) { + const qid = typeof args[0] === 'number' ? args[0] : null + const sameQuery = e => e.ev === 'call' && !this.consumed.has(e.id) && + (qid === null || e.args[0] === qid) + // a cancel runs alongside the statement's other calls, so it is matched on its own + const channel = e => (e.name === 'cancelQuery') === (name === 'cancelQuery') + const next = this.log.find(e => sameQuery(e) && channel(e)) + if (next && next.name === name) return next + const later = this.log.find(e => sameQuery(e) && e.name === name) + if (later) { + this.violation('diverged', `${name}(${qid}) made where the log has ${next?.name ?? 'nothing'} next`) + return later + } + this.violation('unrecorded', `${name}(${qid ?? ''})`) + return null + } + + invoke (name, args) { + const cb = typeof args[args.length - 1] === 'function' ? args[args.length - 1] : null + const callArgs = cb ? args.slice(0, -1) : args + if (this.closed) this.violation('after close', name) + const handle = callArgs[1] + if (handle && typeof handle.statementId === 'number' && this.released.has(handle.statementId)) { + this.violation('after release', `${name} on statement ${handle.statementId}`) + } + if (name !== 'cancelQuery' && this.inFlight.size > 0) { + this.violation('overlap', `${name} while ${[...this.inFlight.values()].join(', ')} in flight`) + } + const entry = this.match(name, callArgs) + if (!entry) return + this.consumed.add(entry.id) + if (cb) this.callbacks.set(entry.id, { name, cb }) + if (name !== 'cancelQuery' && cb) this.inFlight.set(entry.id, name) + const queryObj = callArgs[1] + if (queryObj && typeof queryObj.stateChangeCallback === 'function') { + this.stateCallbacks.set(entry.id, queryObj.stateChangeCallback) + } + if (name === 'releaseStatement' && handle) this.released.add(handle.statementId) + if (name === 'close') this.closed = true + this.pump() + } + + // deliver recorded states and results, in recorded order, until a recorded call JS has + // not made yet + pump () { + this.armStall() + if (this.delivering) return + while (this.cursor < this.log.length) { + const e = this.log[this.cursor] + if (e.ev === 'call') { + if (!this.consumed.has(e.id)) return + this.cursor++ + continue + } + this.delivering = true + setImmediate(() => { + this.delivering = false + this.cursor++ + this.deliver(e) + this.pump() + }) + return + } + } + + deliver (e) { + if (e.ev === 'state') { + const onState = this.stateCallbacks.get(e.of) + if (onState) onState(null, decode(e.change)) + return + } + const call = this.callbacks.get(e.of) + this.inFlight.delete(e.of) + if (call) call.cb(...decode(e.result)) + } + + // a result JS is waiting for is held back by a call JS is not going to make + armStall () { + clearTimeout(this.stallTimer) + this.stallTimer = setTimeout(() => { + const waiting = [...this.inFlight.values()] + const blocked = this.log[this.cursor] + if (waiting.length > 0 && blocked) { + this.violation('stalled', `JS waits on ${waiting.join(', ')}; the log waits on ${blocked.name ?? blocked.ev}(${JSON.stringify(blocked.args?.[0] ?? '')})`) + } + }, this.stallMs) + this.stallTimer.unref() + } + + // the native Connection interface + open (...a) { this.invoke('open', a) } + close (...a) { this.invoke('close', a) } + query (...a) { this.invoke('query', a) } + bindQuery (...a) { this.invoke('bindQuery', a) } + prepare (...a) { this.invoke('prepare', a) } + fetchRows (...a) { this.invoke('fetchRows', a) } + nextResultSet (...a) { this.invoke('nextResultSet', a) } + releaseStatement (...a) { this.invoke('releaseStatement', a) } + cancelQuery (...a) { this.invoke('cancelQuery', a) } + callProcedure (...a) { this.invoke('callProcedure', a) } + unbind (...a) { this.invoke('unbind', a) } + beginTransaction (...a) { this.invoke('beginTransaction', a) } + commit (...a) { this.invoke('commit', a) } + rollback (...a) { this.invoke('rollback', a) } +} + +// an msnodesqlv8-shaped module whose connections run over the given fake native +// connection, through the real JS layer (ConnectionWrapper, DriverMgr, reader, queue) +function fakeSql (native, { version = 18 } = {}) { + const root = path.join(__dirname, '../..') + const { ConnectionWrapper } = require(path.join(root, 'lib/connection')) + const { driverModule } = require(path.join(root, 'lib/driver')) + const defaultCallback = err => { if (err) throw new Error(err) } + + const open = (connectionString, cb) => { + const driverMgr = new driverModule.DriverMgr(native, version) + const conn = new ConnectionWrapper({}, {}, driverMgr, defaultCallback, 0) + conn.setUseUTC(true) + conn.setDriverVersion(version) + native.open(connectionString, 0, err => setImmediate(() => cb(Array.isArray(err) ? err[0] : err, conn))) + } + return { + open, + promises: { + open: connectionString => new Promise((resolve, reject) => open(connectionString, (e, c) => e ? reject(e) : resolve(c))) + } + } +} + +module.exports = { ReplayNative, fakeSql } diff --git a/test/contract/README.md b/test/contract/README.md index b5978a7c..97b71eb2 100644 --- a/test/contract/README.md +++ b/test/contract/README.md @@ -17,6 +17,9 @@ event order shows up as a diff in review, and the contract can be discussed line | `capture.js` | CLI to record and compare | | `contract.test.js` | mocha: every scenario must match its corpus file | | `run-one.js` | runs one scenario in a child process, so a hang or runaway can't affect the next | +| `native-tap.js` | records the native calls of a run: each call into the driver, state change and result, in order | +| `native/` | those recordings, `..json`, one per scenario | +| `replay.js`, `replay.test.js` | replay each recording over the fake driver (`test/common/fake-native.js`), through the real JS layer, with no server | ## Workflow @@ -34,6 +37,31 @@ node test/contract/capture.js --root ../some-dir/node_modules/msnodesqlv8 npx mocha test/contract/contract.test.js ``` +## Replaying without a server + +`capture.js --native` records, for each scenario, what passed between the JS layer and the +native driver (secrets and host names are left out). `replay.test.js` replays it: the fake +driver answers each call with what the real one answered, in causal order. The transcript +has to match the corpus, and the fake checks that the JS respects the driver: + +- `overlap`: a second call (a cancel apart) while one is still in flight on the connection; +- `after release`: a call on a released statement; +- `diverged` / `unrecorded`: a call the recording doesn't have next, or at all; +- `stalled`: JS waits on a result that waits on a call JS never makes. + +A race the real driver shows once in ten runs then fails every time. Against 5.6.0's `lib/` +it reports the pause crash (`diverged: nextResultSet ... where the log has fetchRows`), #481 +(`overlap: query while query in flight`) and the late free (`stalled`). + +```sh +node test/contract/capture.js --native cancel/ # record (keeps a log only if its run matches the corpus) +node test/contract/replay.js cancel/ # replay and compare +npx mocha test/contract/replay.test.js # all of them, ~20 s +``` + +When a change to the JS is meant to change the native calls (not just the events), record +again. The recordings are per platform, because the drivers differ (#483). + ## Status of a transcript Each file has `# status: unreviewed` or `# status: agreed`. diff --git a/test/contract/capture.js b/test/contract/capture.js index b3bcb9ee..0be57ff0 100644 --- a/test/contract/capture.js +++ b/test/contract/capture.js @@ -8,22 +8,28 @@ // node test/contract/capture.js --repeat 10 [filter] run each scenario 10 times (default 3) // node test/contract/capture.js --root use the msnodesqlv8 in , e.g. an // older release, to see how it differs +// node test/contract/capture.js --native [filter] also record each scenario's native calls +// into native/.json, for the fake +// driver to replay (a run whose transcript +// is not in the corpus is not kept) // // a filter matches any part of a scenario name, e.g. 'cancel/' or 'dup-key'. // the connection string comes from the test environment, as for the mocha tests. +const fs = require('fs') const path = require('path') const { TestEnv } = require('../env/test-env') const { scenarios } = require('./scenarios') -const { captureScenario } = require('./recorder') +const { captureScenario, runIsolated } = require('./recorder') const corpus = require('./corpus') function parseArgs (argv) { - const opts = { update: false, print: false, repeat: 3, root: path.join(__dirname, '../..'), filters: [] } + const opts = { update: false, print: false, native: false, repeat: 3, root: path.join(__dirname, '../..'), filters: [] } for (let i = 0; i < argv.length; i++) { const a = argv[i] if (a === '--update') opts.update = true else if (a === '--print') opts.print = true + else if (a === '--native') opts.native = true else if (a === '--repeat') opts.repeat = Number(argv[++i]) else if (a === '--root') opts.root = path.resolve(argv[++i]) else opts.filters.push(a) @@ -61,6 +67,7 @@ async function main () { if (opts.update && !allMatch) { console.log(` wrote ${path.relative(process.cwd(), corpus.write(scenario, variants))}`) } + if (opts.native) await recordNative(opts.root, connectionString, scenario) } console.log(`\n${summary.same} same, ${summary.different} different, ${summary.missing} new`) @@ -71,6 +78,26 @@ async function main () { process.exit(0) } +// one more run, recording its native calls; kept only if its transcript is in the corpus +async function recordNative (root, connectionString, scenario) { + const file = nativeFile(scenario.name) + const tmp = `${file}.tmp` + fs.mkdirSync(path.dirname(file), { recursive: true }) + const lines = await runIsolated(root, connectionString, scenario, tmp) + const expected = corpus.read(scenario.name) + if (fs.existsSync(tmp) && expected && corpus.matches(expected, lines)) { + fs.renameSync(tmp, file) + console.log(` native log ${path.relative(process.cwd(), file)}`) + } else { + fs.rmSync(tmp, { force: true }) + console.log(' native log not kept: that run does not match the corpus') + } +} + +function nativeFile (name, platform = process.platform) { + return path.join(__dirname, 'native', `${name}.${platform}.json`) +} + main().catch(e => { console.error(e) process.exit(1) diff --git a/test/contract/native-tap.js b/test/contract/native-tap.js new file mode 100644 index 00000000..6e9b47f1 --- /dev/null +++ b/test/contract/native-tap.js @@ -0,0 +1,125 @@ +'use strict' + +// records what passes between the JS layer and the native driver: every call JS makes into +// a native Connection, every state change the statement reports, and every callback, in +// the order they happened. test/common/fake-native.js replays such a log in place of the +// driver, so a scenario's event stream can be reproduced without a server. +// +// log entries: +// { ev: 'call', id, name, args } JS called native.(...args, callback) +// { ev: 'state', of, change } a statement state change, through the stateChangeCallback +// passed to call +// { ev: 'return', of, result } the callback of call ran with ...result +// +// values are encoded so they survive JSON (errors keep their message, dates and buffers +// their value). unless keepData is set, the rows of a fetch are reduced to a count and the +// first row - enough for every transcript that does not print column values. + +const WRAPPED = Symbol('native-tap') + +function encode (v) { + if (v === undefined) return { $: 'undefined' } + if (typeof v === 'function') return { $: 'function' } + if (v === null || typeof v !== 'object') { + if (typeof v === 'bigint') return { $: 'bigint', v: v.toString() } + return v + } + if (v instanceof Error) { + const o = { $: 'error', message: v.message } + for (const k of Object.keys(v)) o[k] = encode(v[k]) + // the server's host name is no business of the log, and differs from machine to machine + if (o.serverName) o.serverName = '' + return o + } + if (v instanceof Date) { + const o = { $: 'date', v: v.getTime() } + if (v.nanosecondsDelta !== undefined) o.ns = v.nanosecondsDelta + return o + } + if (Buffer.isBuffer(v)) return { $: 'buffer', v: v.toString('hex') } + if (Array.isArray(v)) return v.map(encode) + const o = {} + for (const k of Object.keys(v)) o[k] = encode(v[k]) + return o +} + +function decode (v) { + if (v === null || typeof v !== 'object') return v + if (Array.isArray(v)) return v.map(decode) + switch (v.$) { + case 'undefined': return undefined + case 'function': return () => {} + case 'bigint': return BigInt(v.v) + case 'buffer': return Buffer.from(v.v, 'hex') + case 'date': { + const d = new Date(v.v) + if (v.ns !== undefined) d.nanosecondsDelta = v.ns + return d + } + case 'rows': return Array.from({ length: v.n }, () => decode(v.first)) + case 'error': { + const e = new Error(v.message) + for (const k of Object.keys(v)) { + if (k !== '$' && k !== 'message') e[k] = decode(v[k]) + } + return e + } + } + const o = {} + for (const k of Object.keys(v)) o[k] = decode(v[k]) + return o +} + +// the rows of a fetch result, reduced to a count and the first row +function compactRows (result) { + for (const r of result) { + if (r && Array.isArray(r.data) && r.data.length > 0) { + r.data = { $: 'rows', n: r.data.length, first: r.data[0] } + } + } + return result +} + +// replace nativeModule.Connection, so every connection made from now on is recorded +function install (nativeModule, { keepData = false } = {}) { + const Real = nativeModule.Connection + const log = [] + nativeModule.Connection = function () { + const real = new Real() + return new Proxy(real, { + get (target, name) { + const f = target[name] + if (typeof f !== 'function' || name === 'constructor') return f + return (...args) => { + const id = log.length + const cb = args[args.length - 1] + const hasCb = typeof cb === 'function' + const callArgs = hasCb ? args.slice(0, -1) : args + // never record a connection string: the log is committed, and it carries credentials + const recorded = name === 'open' ? ['', ...callArgs.slice(1)] : callArgs + log.push({ ev: 'call', id, name, args: encode(recorded) }) + const queryObj = args[1] + if (queryObj && typeof queryObj.stateChangeCallback === 'function' && !queryObj.stateChangeCallback[WRAPPED]) { + const onState = queryObj.stateChangeCallback + queryObj.stateChangeCallback = (e, change) => { + log.push({ ev: 'state', of: id, change: encode(change) }) + onState(e, change) + } + queryObj.stateChangeCallback[WRAPPED] = true + } + if (hasCb) { + args[args.length - 1] = (...result) => { + const enc = encode(result) + log.push({ ev: 'return', of: id, result: name === 'fetchRows' && !keepData ? compactRows(enc) : enc }) + cb(...result) + } + } + return f.apply(target, args) + } + } + }) + } + return { log, restore: () => { nativeModule.Connection = Real } } +} + +module.exports = { install, encode, decode } diff --git a/test/contract/native/cancel/before-execute.events.win32.json b/test/contract/native/cancel/before-execute.events.win32.json new file mode 100644 index 00000000..d8290170 --- /dev/null +++ b/test/contract/native/cancel/before-execute.events.win32.json @@ -0,0 +1 @@ +{"scenario":"cancel/before-execute.events","transcript":["action cancel","submitted","done","cancel-cb ok","error HY008 0 Operation canceled more=false","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"waitfor delay '00:00:01'; select 2 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"call","id":4,"name":"cancelQuery","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_CANCEL_HANDLE"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CANCEL_HANDLE","newState":"STATEMENT_ERROR"}},{"ev":"return","of":4,"result":[null,true]},{"ev":"return","of":2,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server]Operation canceled","sqlstate":"HY008","code":0,"severity":0,"serverName":"","procName":"","lineNumber":0}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":10,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":10,"result":[null,true]},{"ev":"call","id":13,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":13,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":18,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":18,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":20,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":20,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":22,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":22,"result":[null,true]},{"ev":"call","id":25,"name":"close","args":[]},{"ev":"return","of":25,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/cancel/during-execute.callback.win32.json b/test/contract/native/cancel/during-execute.callback.win32.json new file mode 100644 index 00000000..e0fdf934 --- /dev/null +++ b/test/contract/native/cancel/during-execute.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"cancel/during-execute.callback","transcript":["submitted","action cancel","done","cancel-cb ok","free","cb error HY008 0 Operation canceled more=false","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"waitfor delay '00:00:01'; select 2 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"call","id":5,"name":"cancelQuery","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_CANCEL_HANDLE"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CANCEL_HANDLE","newState":"STATEMENT_ERROR"}},{"ev":"return","of":5,"result":[null,true]},{"ev":"return","of":2,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server]Operation canceled","sqlstate":"HY008","code":0,"severity":0,"serverName":"","procName":"","lineNumber":0}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":10,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":10,"result":[null,true]},{"ev":"call","id":13,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":13,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":18,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":18,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":20,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":20,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":22,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":22,"result":[null,true]},{"ev":"call","id":25,"name":"close","args":[]},{"ev":"return","of":25,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/cancel/during-execute.events.win32.json b/test/contract/native/cancel/during-execute.events.win32.json new file mode 100644 index 00000000..0cd2c3fc --- /dev/null +++ b/test/contract/native/cancel/during-execute.events.win32.json @@ -0,0 +1 @@ +{"scenario":"cancel/during-execute.events","transcript":["submitted","action cancel","done","cancel-cb ok","error HY008 0 Operation canceled more=false","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"waitfor delay '00:00:01'; select 2 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"call","id":5,"name":"cancelQuery","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_CANCEL_HANDLE"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CANCEL_HANDLE","newState":"STATEMENT_ERROR"}},{"ev":"return","of":5,"result":[null,true]},{"ev":"return","of":2,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server]Operation canceled","sqlstate":"HY008","code":0,"severity":0,"serverName":"","procName":"","lineNumber":0}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":10,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":10,"result":[null,true]},{"ev":"call","id":13,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":13,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":18,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":18,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":20,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":20,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":22,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":22,"result":[null,true]},{"ev":"call","id":25,"name":"close","args":[]},{"ev":"return","of":25,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/cancel/last-row.events.win32.json b/test/contract/native/cancel/last-row.events.win32.json new file mode 100644 index 00000000..f9eaf3a5 --- /dev/null +++ b/test/contract/native/cancel/last-row.events.win32.json @@ -0,0 +1 @@ +{"scenario":"cancel/last-row.events","transcript":["submitted","meta a","row x5","action cancel","done","cancel-cb ok","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select top 5 object_id as a from sys.all_objects","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"a","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":5,"first":[109268936]}}]},{"ev":"call","id":9,"name":"cancelQuery","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"call","id":10,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CANCEL_HANDLE"}},{"ev":"return","of":9,"result":[null,true]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CANCEL_HANDLE","newState":"STATEMENT_ERROR"}},{"ev":"return","of":10,"result":[null,{"meta":[{"name":"a","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":15,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":15,"result":[null,true]},{"ev":"call","id":18,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":18,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":18,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":18,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":18,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":23,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":23,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":25,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":25,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":27,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":18,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":27,"result":[null,true]},{"ev":"call","id":30,"name":"close","args":[]},{"ev":"return","of":30,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/cancel/late-after-free.events.win32.json b/test/contract/native/cancel/late-after-free.events.win32.json new file mode 100644 index 00000000..a3d33dc0 --- /dev/null +++ b/test/contract/native/cancel/late-after-free.events.win32.json @@ -0,0 +1 @@ +{"scenario":"cancel/late-after-free.events","transcript":["submitted","meta n","row","done","free","action cancel","done","cancel-cb error Error: [msnodesql] cannot cancel query (empty queue) id 0","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":9,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":9,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":11,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":11,"result":[null,true]},{"ev":"call","id":14,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":14,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":19,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":19,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":21,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":21,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":23,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":23,"result":[null,true]},{"ev":"call","id":26,"name":"close","args":[]},{"ev":"return","of":26,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/cancel/paused-before-execute.events.win32.json b/test/contract/native/cancel/paused-before-execute.events.win32.json new file mode 100644 index 00000000..ae3f26dd --- /dev/null +++ b/test/contract/native/cancel/paused-before-execute.events.win32.json @@ -0,0 +1 @@ +{"scenario":"cancel/paused-before-execute.events","transcript":["action pause","action cancel","submitted","done","cancel-cb ok","error HY008 0 Operation canceled more=false","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"waitfor delay '00:00:01'; select 2 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"call","id":4,"name":"cancelQuery","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_CANCEL_HANDLE"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CANCEL_HANDLE","newState":"STATEMENT_ERROR"}},{"ev":"return","of":4,"result":[null,true]},{"ev":"return","of":2,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server]Operation canceled","sqlstate":"HY008","code":0,"severity":0,"serverName":"","procName":"","lineNumber":0}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":10,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":10,"result":[null,true]},{"ev":"call","id":13,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":13,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":18,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":18,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":20,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":20,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":22,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":22,"result":[null,true]},{"ev":"call","id":25,"name":"close","args":[]},{"ev":"return","of":25,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/cancel/paused-streaming-at-100.events.win32.json b/test/contract/native/cancel/paused-streaming-at-100.events.win32.json new file mode 100644 index 00000000..07332c97 --- /dev/null +++ b/test/contract/native/cancel/paused-streaming-at-100.events.win32.json @@ -0,0 +1 @@ +{"scenario":"cancel/paused-streaming-at-100.events","transcript":["submitted","meta name","row x100","action pause","action cancel","done","cancel-cb ok","error HY008 0 Operation canceled more=false","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select top 5000 a.name from sys.all_objects a cross join sys.all_objects b","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"name","nullable":false,"type":"text","sqlType":"nvarchar","size":128}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":9,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":9,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":11,"name":"cancelQuery","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CANCEL_HANDLE"}},{"ev":"return","of":11,"result":[null,true]},{"ev":"call","id":14,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CANCEL_HANDLE","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":14,"result":[null,true]},{"ev":"call","id":17,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":17,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":17,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":17,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":17,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":22,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":22,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":24,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":24,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":26,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":17,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":26,"result":[null,true]},{"ev":"call","id":29,"name":"close","args":[]},{"ev":"return","of":29,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/cancel/streaming-after-print-at-100.events.win32.json b/test/contract/native/cancel/streaming-after-print-at-100.events.win32.json new file mode 100644 index 00000000..900fae5c --- /dev/null +++ b/test/contract/native/cancel/streaming-after-print-at-100.events.win32.json @@ -0,0 +1 @@ +{"scenario":"cancel/streaming-after-print-at-100.events","transcript":["submitted","info 01000 0 start","rowcount 0","meta name","row x100","action cancel","done","cancel-cb ok","row x4900","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"print 'start'; select top 5000 a.name from sys.all_objects a cross join sys.all_objects b","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":2,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]start","sqlstate":"01000","code":0,"severity":0,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":false,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":8,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":8,"result":[null,{"meta":[{"name":"name","nullable":false,"type":"text","sqlType":"nvarchar","size":128}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0}]},{"ev":"call","id":10,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":10,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":12,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":12,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":14,"name":"cancelQuery","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"call","id":15,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":14,"result":[null,false]},{"ev":"return","of":15,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":18,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":18,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":20,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":20,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":22,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":22,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":24,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":24,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":26,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":26,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":28,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":28,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":30,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":30,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":32,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":32,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":34,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":34,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":36,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":36,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":38,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":38,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":40,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":40,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":42,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":42,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":44,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":44,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":46,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":46,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":48,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":48,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":50,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":50,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":52,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":52,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":54,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":54,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":56,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":56,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":58,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":58,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":60,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":60,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":62,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":62,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":64,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":64,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":66,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":66,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":68,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":68,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":70,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":70,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":72,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":72,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":74,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":74,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":76,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":76,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":78,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":78,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":80,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":80,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":82,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":82,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":84,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":84,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":86,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":86,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":88,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":88,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":90,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":90,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":92,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":92,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":94,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":94,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":96,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":96,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":98,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":98,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":100,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":100,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":102,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":102,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":104,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":104,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":106,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":106,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":108,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":108,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":110,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":110,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":112,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":112,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":114,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":114,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":116,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":116,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":118,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":118,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":120,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":120,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":122,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":122,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":124,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":124,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":126,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":126,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":128,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":128,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":130,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":130,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":132,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":132,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":134,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":134,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":136,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":136,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":138,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":138,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":140,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":140,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":142,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":142,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":144,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":144,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":146,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":146,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":148,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":148,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":150,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":150,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":152,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":152,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":154,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":154,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":156,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":156,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":158,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":158,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":160,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":160,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":162,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":162,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":164,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":164,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":166,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":166,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":168,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":168,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":170,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":170,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":172,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":172,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":174,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":174,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":176,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":176,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":178,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":178,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":180,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":180,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":182,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":182,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":184,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":184,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":186,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":186,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":188,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":188,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":190,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":190,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":192,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":192,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":194,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":194,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":196,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":196,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":198,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":198,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":200,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":200,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":202,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":202,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":204,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":204,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":206,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":206,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":208,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":208,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":210,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":210,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test2"]}}]},{"ev":"call","id":212,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":212,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[]}]},{"ev":"call","id":214,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":214,"result":[null,{"meta":[{"name":"name","nullable":false,"type":"text","sqlType":"nvarchar","size":128}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":216,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":216,"result":[null,true]},{"ev":"call","id":219,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":219,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":219,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":219,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":219,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":224,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":224,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":226,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":226,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":228,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":219,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":228,"result":[null,true]},{"ev":"call","id":231,"name":"close","args":[]},{"ev":"return","of":231,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/cancel/streaming-at-100.events.win32.json b/test/contract/native/cancel/streaming-at-100.events.win32.json new file mode 100644 index 00000000..41a51d9e --- /dev/null +++ b/test/contract/native/cancel/streaming-at-100.events.win32.json @@ -0,0 +1 @@ +{"scenario":"cancel/streaming-at-100.events","transcript":["submitted","meta name","row x100","action cancel","done","cancel-cb ok","error HY008 0 Operation canceled more=false","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select top 5000 a.name from sys.all_objects a cross join sys.all_objects b","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"name","nullable":false,"type":"text","sqlType":"nvarchar","size":128}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":9,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":9,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":["__test"]}}]},{"ev":"call","id":11,"name":"cancelQuery","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"call","id":12,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CANCEL_HANDLE"}},{"ev":"return","of":11,"result":[null,true]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CANCEL_HANDLE","newState":"STATEMENT_ERROR"}},{"ev":"return","of":12,"result":[[{"$":"error","message":"[msnodesql] Operation canceled","sqlstate":"HY008","code":0,"severity":0,"serverName":"","procName":"","lineNumber":0}],{"meta":[{"name":"name","nullable":false,"type":"text","sqlType":"nvarchar","size":128}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":17,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":17,"result":[null,true]},{"ev":"call","id":20,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":20,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":20,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":20,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":20,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":25,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":25,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":27,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":27,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":29,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":20,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":29,"result":[null,true]},{"ev":"call","id":32,"name":"close","args":[]},{"ev":"return","of":32,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/errors/bind-failure.callback.win32.json b/test/contract/native/errors/bind-failure.callback.win32.json new file mode 100644 index 00000000..e64cbd4f --- /dev/null +++ b/test/contract/native/errors/bind-failure.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"errors/bind-failure.callback","transcript":["submitted","done","free","cb error - - IMNOD: [msnodesql] Parameter 1: Invalid number parameter more=false","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select ? as v","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[null]]},{"ev":"return","of":2,"result":[{"$":"error","message":"IMNOD: [msnodesql] Parameter 1: Invalid number parameter"},{"meta":[],"handle":{"connectionId":-1,"statementId":-1},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":4,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":4,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":4,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":4,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":4,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":9,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":9,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":11,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":0}]},{"ev":"return","of":11,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":13,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":0}]},{"ev":"state","of":4,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":13,"result":[null,true]},{"ev":"call","id":16,"name":"close","args":[]},{"ev":"return","of":16,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/errors/bind-failure.events.win32.json b/test/contract/native/errors/bind-failure.events.win32.json new file mode 100644 index 00000000..f7eccabc --- /dev/null +++ b/test/contract/native/errors/bind-failure.events.win32.json @@ -0,0 +1 @@ +{"scenario":"errors/bind-failure.events","transcript":["submitted","error - - IMNOD: [msnodesql] Parameter 1: Invalid number parameter more=false","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select ? as v","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[null]]},{"ev":"return","of":2,"result":[{"$":"error","message":"IMNOD: [msnodesql] Parameter 1: Invalid number parameter"},{"meta":[],"handle":{"connectionId":-1,"statementId":-1},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":4,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":4,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":4,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":4,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":4,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":9,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":9,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":11,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":0}]},{"ev":"return","of":11,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":13,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":0}]},{"ev":"state","of":4,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":13,"result":[null,true]},{"ev":"call","id":16,"name":"close","args":[]},{"ev":"return","of":16,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/errors/dup-key-a.callback.win32.json b/test/contract/native/errors/dup-key-a.callback.win32.json new file mode 100644 index 00000000..2c88711b --- /dev/null +++ b/test/contract/native/errors/dup-key-a.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"errors/dup-key-a.callback","transcript":["submitted","info 01000 3621 The statement has been terminated.","free","cb error 23000 2627 Violation of PRIMARY KEY constraint 'pk_t'. Cannot insert duplicate key in object 'dbo.#t'. The duplicate key value is (1). more=false","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"create table #t (id int constraint pk_t primary key); insert #t values (1)","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":1},true]},{"ev":"call","id":7,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":7,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":1}]},{"ev":"call","id":9,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":9,"result":[null,true]},{"ev":"call","id":12,"name":"query","args":[1,{"query_str":"insert #t values (1)","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":12,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Violation of PRIMARY KEY constraint 'pk_t'. Cannot insert duplicate key in object 'dbo.#t'. The duplicate key value is (1).","sqlstate":"23000","code":2627,"severity":14,"serverName":"","procName":"","lineNumber":1},{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]The statement has been terminated.","sqlstate":"01000","code":3621,"severity":0,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":18,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":18,"result":[null,true]},{"ev":"call","id":21,"name":"query","args":[2,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":21,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":21,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":21,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":21,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":26,"name":"fetchRows","args":[2,{"connectionId":0,"statementId":2},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":26,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":28,"name":"nextResultSet","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"return","of":28,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":30,"name":"releaseStatement","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"state","of":21,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":30,"result":[null,true]},{"ev":"call","id":33,"name":"close","args":[]},{"ev":"return","of":33,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/errors/dup-key-a.events.win32.json b/test/contract/native/errors/dup-key-a.events.win32.json new file mode 100644 index 00000000..57d53721 --- /dev/null +++ b/test/contract/native/errors/dup-key-a.events.win32.json @@ -0,0 +1 @@ +{"scenario":"errors/dup-key-a.events","transcript":["submitted","info 01000 3621 The statement has been terminated.","error 23000 2627 Violation of PRIMARY KEY constraint 'pk_t'. Cannot insert duplicate key in object 'dbo.#t'. The duplicate key value is (1). more=false","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"create table #t (id int constraint pk_t primary key); insert #t values (1)","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":1},true]},{"ev":"call","id":7,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":7,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":1}]},{"ev":"call","id":9,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":9,"result":[null,true]},{"ev":"call","id":12,"name":"query","args":[1,{"query_str":"insert #t values (1)","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":12,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Violation of PRIMARY KEY constraint 'pk_t'. Cannot insert duplicate key in object 'dbo.#t'. The duplicate key value is (1).","sqlstate":"23000","code":2627,"severity":14,"serverName":"","procName":"","lineNumber":1},{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]The statement has been terminated.","sqlstate":"01000","code":3621,"severity":0,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":18,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":18,"result":[null,true]},{"ev":"call","id":21,"name":"query","args":[2,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":21,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":21,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":21,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":21,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":26,"name":"fetchRows","args":[2,{"connectionId":0,"statementId":2},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":26,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":28,"name":"nextResultSet","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"return","of":28,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":30,"name":"releaseStatement","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"state","of":21,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":30,"result":[null,true]},{"ev":"call","id":33,"name":"close","args":[]},{"ev":"return","of":33,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/errors/dup-key-b.callback.win32.json b/test/contract/native/errors/dup-key-b.callback.win32.json new file mode 100644 index 00000000..3424335a --- /dev/null +++ b/test/contract/native/errors/dup-key-b.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"errors/dup-key-b.callback","transcript":["submitted","meta n","row","column 0 1","info 01000 3621 The statement has been terminated.","cb error 23000 2627 Violation of PRIMARY KEY constraint 'pk_t'. Cannot insert duplicate key in object 'dbo.#t'. The duplicate key value is (1). more=false","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"create table #t (id int constraint pk_t primary key); insert #t values (1)","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":1},true]},{"ev":"call","id":7,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":7,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":1}]},{"ev":"call","id":9,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":9,"result":[null,true]},{"ev":"call","id":12,"name":"query","args":[1,{"query_str":"select 1 as n; insert #t values (1)","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":12,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":17,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":17,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":19,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":19,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Violation of PRIMARY KEY constraint 'pk_t'. Cannot insert duplicate key in object 'dbo.#t'. The duplicate key value is (1).","sqlstate":"23000","code":2627,"severity":14,"serverName":"","procName":"","lineNumber":1},{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]The statement has been terminated.","sqlstate":"01000","code":3621,"severity":0,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":22,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":22,"result":[null,true]},{"ev":"call","id":25,"name":"query","args":[2,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":25,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":25,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":25,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":25,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":30,"name":"fetchRows","args":[2,{"connectionId":0,"statementId":2},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":30,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":32,"name":"nextResultSet","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"return","of":32,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":34,"name":"releaseStatement","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"state","of":25,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":34,"result":[null,true]},{"ev":"call","id":37,"name":"close","args":[]},{"ev":"return","of":37,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/errors/dup-key-b.events.win32.json b/test/contract/native/errors/dup-key-b.events.win32.json new file mode 100644 index 00000000..950b2c86 --- /dev/null +++ b/test/contract/native/errors/dup-key-b.events.win32.json @@ -0,0 +1 @@ +{"scenario":"errors/dup-key-b.events","transcript":["submitted","meta n","row","column 0 1","info 01000 3621 The statement has been terminated.","error 23000 2627 Violation of PRIMARY KEY constraint 'pk_t'. Cannot insert duplicate key in object 'dbo.#t'. The duplicate key value is (1). more=false","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"create table #t (id int constraint pk_t primary key); insert #t values (1)","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":1},true]},{"ev":"call","id":7,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":7,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":1}]},{"ev":"call","id":9,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":9,"result":[null,true]},{"ev":"call","id":12,"name":"query","args":[1,{"query_str":"select 1 as n; insert #t values (1)","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":12,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":17,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":17,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":19,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":19,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Violation of PRIMARY KEY constraint 'pk_t'. Cannot insert duplicate key in object 'dbo.#t'. The duplicate key value is (1).","sqlstate":"23000","code":2627,"severity":14,"serverName":"","procName":"","lineNumber":1},{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]The statement has been terminated.","sqlstate":"01000","code":3621,"severity":0,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":22,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":22,"result":[null,true]},{"ev":"call","id":25,"name":"query","args":[2,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":25,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":25,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":25,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":25,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":30,"name":"fetchRows","args":[2,{"connectionId":0,"statementId":2},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":30,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":32,"name":"nextResultSet","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"return","of":32,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":34,"name":"releaseStatement","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"state","of":25,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":34,"result":[null,true]},{"ev":"call","id":37,"name":"close","args":[]},{"ev":"return","of":37,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/errors/dup-key-c.callback.win32.json b/test/contract/native/errors/dup-key-c.callback.win32.json new file mode 100644 index 00000000..0c23cc94 --- /dev/null +++ b/test/contract/native/errors/dup-key-c.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"errors/dup-key-c.callback","transcript":["submitted","meta n","row","column 0 1","info 01000 3621 The statement has been terminated.","cb error 23000 2627 Violation of PRIMARY KEY constraint 'pk_t'. Cannot insert duplicate key in object 'dbo.#t'. The duplicate key value is (1). more=true","cb ok rows=1 more=true","rowcount 0","meta m","cb ok rows=0 more=true","row","column 0 2","cb ok rows=1 more=false","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"create table #t (id int constraint pk_t primary key); insert #t values (1)","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":1},true]},{"ev":"call","id":7,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":7,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":1}]},{"ev":"call","id":9,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":9,"result":[null,true]},{"ev":"call","id":12,"name":"query","args":[1,{"query_str":"select 1 as n; insert #t values (1); select 2 as m","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":12,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":17,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":17,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":19,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":19,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Violation of PRIMARY KEY constraint 'pk_t'. Cannot insert duplicate key in object 'dbo.#t'. The duplicate key value is (1).","sqlstate":"23000","code":2627,"severity":14,"serverName":"","procName":"","lineNumber":1},{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]The statement has been terminated.","sqlstate":"01000","code":3621,"severity":0,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":22,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":22,"result":[null,{"meta":[{"name":"m","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0}]},{"ev":"call","id":24,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":24,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[2]]}]},{"ev":"call","id":26,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":26,"result":[null,{"meta":[{"name":"m","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":28,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":28,"result":[null,true]},{"ev":"call","id":31,"name":"query","args":[2,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":31,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":31,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":31,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":31,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":36,"name":"fetchRows","args":[2,{"connectionId":0,"statementId":2},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":36,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":38,"name":"nextResultSet","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"return","of":38,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":40,"name":"releaseStatement","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"state","of":31,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":40,"result":[null,true]},{"ev":"call","id":43,"name":"close","args":[]},{"ev":"return","of":43,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/errors/dup-key-c.events.win32.json b/test/contract/native/errors/dup-key-c.events.win32.json new file mode 100644 index 00000000..2494ba6e --- /dev/null +++ b/test/contract/native/errors/dup-key-c.events.win32.json @@ -0,0 +1 @@ +{"scenario":"errors/dup-key-c.events","transcript":["submitted","meta n","row","column 0 1","info 01000 3621 The statement has been terminated.","error 23000 2627 Violation of PRIMARY KEY constraint 'pk_t'. Cannot insert duplicate key in object 'dbo.#t'. The duplicate key value is (1). more=true","rowcount 0","meta m","row","column 0 2","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"create table #t (id int constraint pk_t primary key); insert #t values (1)","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":1},true]},{"ev":"call","id":7,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":7,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":1}]},{"ev":"call","id":9,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":9,"result":[null,true]},{"ev":"call","id":12,"name":"query","args":[1,{"query_str":"select 1 as n; insert #t values (1); select 2 as m","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":12,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":17,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":17,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":19,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":19,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Violation of PRIMARY KEY constraint 'pk_t'. Cannot insert duplicate key in object 'dbo.#t'. The duplicate key value is (1).","sqlstate":"23000","code":2627,"severity":14,"serverName":"","procName":"","lineNumber":1},{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]The statement has been terminated.","sqlstate":"01000","code":3621,"severity":0,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":22,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":22,"result":[null,{"meta":[{"name":"m","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0}]},{"ev":"call","id":24,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":24,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[2]]}]},{"ev":"call","id":26,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":26,"result":[null,{"meta":[{"name":"m","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":28,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":28,"result":[null,true]},{"ev":"call","id":31,"name":"query","args":[2,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":31,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":31,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":31,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":31,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":36,"name":"fetchRows","args":[2,{"connectionId":0,"statementId":2},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":36,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":38,"name":"nextResultSet","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"return","of":38,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":40,"name":"releaseStatement","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"state","of":31,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":40,"result":[null,true]},{"ev":"call","id":43,"name":"close","args":[]},{"ev":"return","of":43,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/errors/dup-key-d.callback.win32.json b/test/contract/native/errors/dup-key-d.callback.win32.json new file mode 100644 index 00000000..73bff5ea --- /dev/null +++ b/test/contract/native/errors/dup-key-d.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"errors/dup-key-d.callback","transcript":["submitted","info 01000 3621 The statement has been terminated.","cb error 23000 2627 Violation of PRIMARY KEY constraint 'pk_t'. Cannot insert duplicate key in object 'dbo.#t'. The duplicate key value is (1). more=true","rowcount 0","meta m","cb ok rows=0 more=true","row","column 0 2","cb ok rows=1 more=false","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"create table #t (id int constraint pk_t primary key); insert #t values (1)","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":1},true]},{"ev":"call","id":7,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":7,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":1}]},{"ev":"call","id":9,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":9,"result":[null,true]},{"ev":"call","id":12,"name":"query","args":[1,{"query_str":"insert #t values (1); select 2 as m","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":12,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Violation of PRIMARY KEY constraint 'pk_t'. Cannot insert duplicate key in object 'dbo.#t'. The duplicate key value is (1).","sqlstate":"23000","code":2627,"severity":14,"serverName":"","procName":"","lineNumber":1},{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]The statement has been terminated.","sqlstate":"01000","code":3621,"severity":0,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":18,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":18,"result":[null,{"meta":[{"name":"m","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0}]},{"ev":"call","id":20,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":20,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[2]]}]},{"ev":"call","id":22,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":22,"result":[null,{"meta":[{"name":"m","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":24,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":24,"result":[null,true]},{"ev":"call","id":27,"name":"query","args":[2,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":27,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":27,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":27,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":27,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":32,"name":"fetchRows","args":[2,{"connectionId":0,"statementId":2},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":32,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":34,"name":"nextResultSet","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"return","of":34,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":36,"name":"releaseStatement","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"state","of":27,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":36,"result":[null,true]},{"ev":"call","id":39,"name":"close","args":[]},{"ev":"return","of":39,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/errors/dup-key-d.events.win32.json b/test/contract/native/errors/dup-key-d.events.win32.json new file mode 100644 index 00000000..55b85b8f --- /dev/null +++ b/test/contract/native/errors/dup-key-d.events.win32.json @@ -0,0 +1 @@ +{"scenario":"errors/dup-key-d.events","transcript":["submitted","error 23000 2627 Violation of PRIMARY KEY constraint 'pk_t'. Cannot insert duplicate key in object 'dbo.#t'. The duplicate key value is (1). more=true","info 01000 3621 The statement has been terminated.","rowcount 0","meta m","row","column 0 2","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"create table #t (id int constraint pk_t primary key); insert #t values (1)","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":1},true]},{"ev":"call","id":7,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":7,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":1}]},{"ev":"call","id":9,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":9,"result":[null,true]},{"ev":"call","id":12,"name":"query","args":[1,{"query_str":"insert #t values (1); select 2 as m","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":12,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Violation of PRIMARY KEY constraint 'pk_t'. Cannot insert duplicate key in object 'dbo.#t'. The duplicate key value is (1).","sqlstate":"23000","code":2627,"severity":14,"serverName":"","procName":"","lineNumber":1},{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]The statement has been terminated.","sqlstate":"01000","code":3621,"severity":0,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":18,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":18,"result":[null,{"meta":[{"name":"m","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0}]},{"ev":"call","id":20,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":20,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[2]]}]},{"ev":"call","id":22,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":22,"result":[null,{"meta":[{"name":"m","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":24,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":24,"result":[null,true]},{"ev":"call","id":27,"name":"query","args":[2,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":27,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":27,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":27,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":27,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":32,"name":"fetchRows","args":[2,{"connectionId":0,"statementId":2},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":32,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":34,"name":"nextResultSet","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"return","of":34,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":36,"name":"releaseStatement","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"state","of":27,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":36,"result":[null,true]},{"ev":"call","id":39,"name":"close","args":[]},{"ev":"return","of":39,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/errors/print-then-raiserror.callback.win32.json b/test/contract/native/errors/print-then-raiserror.callback.win32.json new file mode 100644 index 00000000..7f2845a4 --- /dev/null +++ b/test/contract/native/errors/print-then-raiserror.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"errors/print-then-raiserror.callback","transcript":["submitted","info 01000 0 p1","cb error 42000 50000 boom more=false","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"print 'p1'; raiserror('boom', 16, 1)","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":2,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]p1","sqlstate":"01000","code":0,"severity":0,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":false,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":8,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":8,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]boom","sqlstate":"42000","code":50000,"severity":16,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":10,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":10,"result":[null,true]},{"ev":"call","id":13,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":13,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":18,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":18,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":20,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":20,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":22,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":22,"result":[null,true]},{"ev":"call","id":25,"name":"close","args":[]},{"ev":"return","of":25,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/errors/print-then-raiserror.events.win32.json b/test/contract/native/errors/print-then-raiserror.events.win32.json new file mode 100644 index 00000000..3a6471f5 --- /dev/null +++ b/test/contract/native/errors/print-then-raiserror.events.win32.json @@ -0,0 +1 @@ +{"scenario":"errors/print-then-raiserror.events","transcript":["submitted","info 01000 0 p1","error 42000 50000 boom more=false","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"print 'p1'; raiserror('boom', 16, 1)","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":2,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]p1","sqlstate":"01000","code":0,"severity":0,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":false,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":8,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":8,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]boom","sqlstate":"42000","code":50000,"severity":16,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":10,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":10,"result":[null,true]},{"ev":"call","id":13,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":13,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":18,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":18,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":20,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":20,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":22,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":22,"result":[null,true]},{"ev":"call","id":25,"name":"close","args":[]},{"ev":"return","of":25,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/errors/raiserror-after-result.callback.win32.json b/test/contract/native/errors/raiserror-after-result.callback.win32.json new file mode 100644 index 00000000..4e63d31b --- /dev/null +++ b/test/contract/native/errors/raiserror-after-result.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"errors/raiserror-after-result.callback","transcript":["submitted","meta n","row","column 0 1","cb error 42000 50000 boom more=false","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select 1 as n; raiserror('boom', 16, 1)","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":9,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":9,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]boom","sqlstate":"42000","code":50000,"severity":16,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":12,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":12,"result":[null,true]},{"ev":"call","id":15,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":15,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":15,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":15,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":15,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":20,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":20,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":22,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":22,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":24,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":15,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":24,"result":[null,true]},{"ev":"call","id":27,"name":"close","args":[]},{"ev":"return","of":27,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/errors/raiserror-after-result.events.win32.json b/test/contract/native/errors/raiserror-after-result.events.win32.json new file mode 100644 index 00000000..bb2b8afd --- /dev/null +++ b/test/contract/native/errors/raiserror-after-result.events.win32.json @@ -0,0 +1 @@ +{"scenario":"errors/raiserror-after-result.events","transcript":["submitted","meta n","row","column 0 1","error 42000 50000 boom more=false","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select 1 as n; raiserror('boom', 16, 1)","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":9,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":9,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]boom","sqlstate":"42000","code":50000,"severity":16,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":12,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":12,"result":[null,true]},{"ev":"call","id":15,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":15,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":15,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":15,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":15,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":20,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":20,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":22,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":22,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":24,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":15,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":24,"result":[null,true]},{"ev":"call","id":27,"name":"close","args":[]},{"ev":"return","of":27,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/errors/raiserror-at-execute.callback.win32.json b/test/contract/native/errors/raiserror-at-execute.callback.win32.json new file mode 100644 index 00000000..c7f181ae --- /dev/null +++ b/test/contract/native/errors/raiserror-at-execute.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"errors/raiserror-at-execute.callback","transcript":["submitted","free","cb error 42000 50000 boom more=false","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"raiserror('boom', 16, 1)","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":2,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]boom","sqlstate":"42000","code":50000,"severity":16,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":8,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":8,"result":[null,true]},{"ev":"call","id":11,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":11,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":11,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":11,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":11,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":16,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":16,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":18,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":18,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":20,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":11,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":20,"result":[null,true]},{"ev":"call","id":23,"name":"close","args":[]},{"ev":"return","of":23,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/errors/raiserror-at-execute.events.win32.json b/test/contract/native/errors/raiserror-at-execute.events.win32.json new file mode 100644 index 00000000..05e60d92 --- /dev/null +++ b/test/contract/native/errors/raiserror-at-execute.events.win32.json @@ -0,0 +1 @@ +{"scenario":"errors/raiserror-at-execute.events","transcript":["submitted","error 42000 50000 boom more=false","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"raiserror('boom', 16, 1)","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":2,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]boom","sqlstate":"42000","code":50000,"severity":16,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":8,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":8,"result":[null,true]},{"ev":"call","id":11,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":11,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":11,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":11,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":11,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":16,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":16,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":18,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":18,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":20,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":11,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":20,"result":[null,true]},{"ev":"call","id":23,"name":"close","args":[]},{"ev":"return","of":23,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/errors/raiserror-then-result.callback.win32.json b/test/contract/native/errors/raiserror-then-result.callback.win32.json new file mode 100644 index 00000000..0ec1f7be --- /dev/null +++ b/test/contract/native/errors/raiserror-then-result.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"errors/raiserror-then-result.callback","transcript":["submitted","cb error 42000 50000 boom more=true","rowcount 0","meta m","cb ok rows=0 more=true","row","column 0 2","cb ok rows=1 more=false","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"raiserror('boom', 16, 1); select 2 as m","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":2,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]boom","sqlstate":"42000","code":50000,"severity":16,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":8,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":8,"result":[null,{"meta":[{"name":"m","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0}]},{"ev":"call","id":10,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":10,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[2]]}]},{"ev":"call","id":12,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":12,"result":[null,{"meta":[{"name":"m","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":14,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":14,"result":[null,true]},{"ev":"call","id":17,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":17,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":17,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":17,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":17,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":22,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":22,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":24,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":24,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":26,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":17,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":26,"result":[null,true]},{"ev":"call","id":29,"name":"close","args":[]},{"ev":"return","of":29,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/errors/raiserror-then-result.events.win32.json b/test/contract/native/errors/raiserror-then-result.events.win32.json new file mode 100644 index 00000000..94fa6eba --- /dev/null +++ b/test/contract/native/errors/raiserror-then-result.events.win32.json @@ -0,0 +1 @@ +{"scenario":"errors/raiserror-then-result.events","transcript":["submitted","error 42000 50000 boom more=true","rowcount 0","meta m","row","column 0 2","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"raiserror('boom', 16, 1); select 2 as m","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":2,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]boom","sqlstate":"42000","code":50000,"severity":16,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":8,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":8,"result":[null,{"meta":[{"name":"m","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0}]},{"ev":"call","id":10,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":10,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[2]]}]},{"ev":"call","id":12,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":12,"result":[null,{"meta":[{"name":"m","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":14,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":14,"result":[null,true]},{"ev":"call","id":17,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":17,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":17,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":17,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":17,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":22,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":22,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":24,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":24,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":26,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":17,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":26,"result":[null,true]},{"ev":"call","id":29,"name":"close","args":[]},{"ev":"return","of":29,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/errors/syntax.callback.win32.json b/test/contract/native/errors/syntax.callback.win32.json new file mode 100644 index 00000000..b3b343b4 --- /dev/null +++ b/test/contract/native/errors/syntax.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"errors/syntax.callback","transcript":["submitted","free","cb error 42000 156 Incorrect syntax near the keyword 'from'. more=false","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select from where","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":2,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Incorrect syntax near the keyword 'from'.","sqlstate":"42000","code":156,"severity":15,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":8,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":8,"result":[null,true]},{"ev":"call","id":11,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":11,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":11,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":11,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":11,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":16,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":16,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":18,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":18,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":20,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":11,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":20,"result":[null,true]},{"ev":"call","id":23,"name":"close","args":[]},{"ev":"return","of":23,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/errors/syntax.events.win32.json b/test/contract/native/errors/syntax.events.win32.json new file mode 100644 index 00000000..672efff5 --- /dev/null +++ b/test/contract/native/errors/syntax.events.win32.json @@ -0,0 +1 @@ +{"scenario":"errors/syntax.events","transcript":["submitted","error 42000 156 Incorrect syntax near the keyword 'from'. more=false","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select from where","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":2,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Incorrect syntax near the keyword 'from'.","sqlstate":"42000","code":156,"severity":15,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":8,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":8,"result":[null,true]},{"ev":"call","id":11,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":11,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":11,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":11,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":11,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":16,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":16,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":18,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":18,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":20,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":11,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":20,"result":[null,true]},{"ev":"call","id":23,"name":"close","args":[]},{"ev":"return","of":23,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/errors/throw-ends-batch.callback.win32.json b/test/contract/native/errors/throw-ends-batch.callback.win32.json new file mode 100644 index 00000000..3cf28dd1 --- /dev/null +++ b/test/contract/native/errors/throw-ends-batch.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"errors/throw-ends-batch.callback","transcript":["submitted","meta n","row","column 0 1","cb error 42000 50001 thrown more=false","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select 1 as n; throw 50001, 'thrown', 1; select 2 as m","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":9,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":9,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]thrown","sqlstate":"42000","code":50001,"severity":16,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":12,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":12,"result":[null,true]},{"ev":"call","id":15,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":15,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":15,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":15,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":15,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":20,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":20,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":22,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":22,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":24,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":15,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":24,"result":[null,true]},{"ev":"call","id":27,"name":"close","args":[]},{"ev":"return","of":27,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/errors/throw-ends-batch.events.win32.json b/test/contract/native/errors/throw-ends-batch.events.win32.json new file mode 100644 index 00000000..2e543f9d --- /dev/null +++ b/test/contract/native/errors/throw-ends-batch.events.win32.json @@ -0,0 +1 @@ +{"scenario":"errors/throw-ends-batch.events","transcript":["submitted","meta n","row","column 0 1","error 42000 50001 thrown more=false","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select 1 as n; throw 50001, 'thrown', 1; select 2 as m","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":9,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":9,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]thrown","sqlstate":"42000","code":50001,"severity":16,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":12,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":12,"result":[null,true]},{"ev":"call","id":15,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":15,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":15,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":15,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":15,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":20,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":20,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":22,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":22,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":24,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":15,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":24,"result":[null,true]},{"ev":"call","id":27,"name":"close","args":[]},{"ev":"return","of":27,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/errors/two-raiserrors-then-result.callback.win32.json b/test/contract/native/errors/two-raiserrors-then-result.callback.win32.json new file mode 100644 index 00000000..63a1a3d7 --- /dev/null +++ b/test/contract/native/errors/two-raiserrors-then-result.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"errors/two-raiserrors-then-result.callback","transcript":["submitted","info 01000 0 p1","cb error 42000 50000 e1 more=true","rowcount 0","cb ok rows=0 more=true","info 01000 0 p2","rowcount 0","cb ok rows=0 more=true","cb error 42000 50000 e2 more=true","rowcount 0","cb ok rows=0 more=true","rowcount 0","meta n","cb ok rows=0 more=true","row","column 0 1","cb ok rows=1 more=false","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"print 'p1'; raiserror('e1', 16, 1); print 'p2'; raiserror('e2', 16, 1); select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":2,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]p1","sqlstate":"01000","code":0,"severity":0,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":false,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":8,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":8,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]e1","sqlstate":"42000","code":50000,"severity":16,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":10,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":10,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]p2","sqlstate":"01000","code":0,"severity":0,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":false,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":12,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":12,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]e2","sqlstate":"42000","code":50000,"severity":16,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":14,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":14,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0}]},{"ev":"call","id":16,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":16,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":18,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":18,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":20,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":20,"result":[null,true]},{"ev":"call","id":23,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":23,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":23,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":23,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":23,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":28,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":28,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":30,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":30,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":32,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":23,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":32,"result":[null,true]},{"ev":"call","id":35,"name":"close","args":[]},{"ev":"return","of":35,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/errors/two-raiserrors-then-result.events.win32.json b/test/contract/native/errors/two-raiserrors-then-result.events.win32.json new file mode 100644 index 00000000..40e72949 --- /dev/null +++ b/test/contract/native/errors/two-raiserrors-then-result.events.win32.json @@ -0,0 +1 @@ +{"scenario":"errors/two-raiserrors-then-result.events","transcript":["submitted","info 01000 0 p1","error 42000 50000 e1 more=true","rowcount 0","info 01000 0 p2","rowcount 0","error 42000 50000 e2 more=true","rowcount 0 x2","meta n","row","column 0 1","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"print 'p1'; raiserror('e1', 16, 1); print 'p2'; raiserror('e2', 16, 1); select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":2,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]p1","sqlstate":"01000","code":0,"severity":0,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":false,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":8,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":8,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]e1","sqlstate":"42000","code":50000,"severity":16,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":10,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":10,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]p2","sqlstate":"01000","code":0,"severity":0,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":false,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":12,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":12,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]e2","sqlstate":"42000","code":50000,"severity":16,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":14,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":14,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0}]},{"ev":"call","id":16,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":16,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":18,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":18,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":20,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":20,"result":[null,true]},{"ev":"call","id":23,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":23,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":23,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":23,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":23,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":28,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":28,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":30,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":30,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":32,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":23,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":32,"result":[null,true]},{"ev":"call","id":35,"name":"close","args":[]},{"ev":"return","of":35,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/pause/before-execute.events.win32.json b/test/contract/native/pause/before-execute.events.win32.json new file mode 100644 index 00000000..acc52131 --- /dev/null +++ b/test/contract/native/pause/before-execute.events.win32.json @@ -0,0 +1 @@ +{"scenario":"pause/before-execute.events","transcript":["action pause","submitted","meta n","action resume","row","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":9,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":9,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":11,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":11,"result":[null,true]},{"ev":"call","id":14,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":14,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":19,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":19,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":21,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":21,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":23,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":23,"result":[null,true]},{"ev":"call","id":26,"name":"close","args":[]},{"ev":"return","of":26,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/pause/every-row.events.win32.json b/test/contract/native/pause/every-row.events.win32.json new file mode 100644 index 00000000..b2830466 --- /dev/null +++ b/test/contract/native/pause/every-row.events.win32.json @@ -0,0 +1 @@ +{"scenario":"pause/every-row.events","transcript":["submitted","meta a","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","meta b","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","row","action pause","action resume","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select top 51 object_id as a from sys.all_objects; select top 51 object_id as b from sys.all_objects","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"a","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":[109268936]}}]},{"ev":"call","id":9,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":9,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1346714679]}}]},{"ev":"call","id":11,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":11,"result":[null,{"meta":[{"name":"b","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0}]},{"ev":"call","id":13,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":13,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":[109268936]}}]},{"ev":"call","id":15,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":15,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1346714679]}}]},{"ev":"call","id":17,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":17,"result":[null,{"meta":[{"name":"b","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":19,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":19,"result":[null,true]},{"ev":"call","id":22,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":22,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":27,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":27,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":29,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":29,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":31,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":31,"result":[null,true]},{"ev":"call","id":34,"name":"close","args":[]},{"ev":"return","of":34,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/pause/two-by-51-at-1.events.win32.json b/test/contract/native/pause/two-by-51-at-1.events.win32.json new file mode 100644 index 00000000..733d09ee --- /dev/null +++ b/test/contract/native/pause/two-by-51-at-1.events.win32.json @@ -0,0 +1 @@ +{"scenario":"pause/two-by-51-at-1.events","transcript":["submitted","meta a","row","action pause","action resume","row x50","meta b","row x51","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select top 51 object_id as a from sys.all_objects; select top 51 object_id as b from sys.all_objects","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"a","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":[109268936]}}]},{"ev":"call","id":9,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":9,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1346714679]}}]},{"ev":"call","id":11,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":11,"result":[null,{"meta":[{"name":"b","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0}]},{"ev":"call","id":13,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":13,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":[109268936]}}]},{"ev":"call","id":15,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":15,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1346714679]}}]},{"ev":"call","id":17,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":17,"result":[null,{"meta":[{"name":"b","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":19,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":19,"result":[null,true]},{"ev":"call","id":22,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":22,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":27,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":27,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":29,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":29,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":31,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":31,"result":[null,true]},{"ev":"call","id":34,"name":"close","args":[]},{"ev":"return","of":34,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/pause/two-by-51-at-101.events.win32.json b/test/contract/native/pause/two-by-51-at-101.events.win32.json new file mode 100644 index 00000000..bcf827ed --- /dev/null +++ b/test/contract/native/pause/two-by-51-at-101.events.win32.json @@ -0,0 +1 @@ +{"scenario":"pause/two-by-51-at-101.events","transcript":["submitted","meta a","row x51","meta b","row x50","action pause","action resume","row","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select top 51 object_id as a from sys.all_objects; select top 51 object_id as b from sys.all_objects","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"a","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":[109268936]}}]},{"ev":"call","id":9,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":9,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1346714679]}}]},{"ev":"call","id":11,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":11,"result":[null,{"meta":[{"name":"b","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0}]},{"ev":"call","id":13,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":13,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":[109268936]}}]},{"ev":"call","id":15,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":15,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1346714679]}}]},{"ev":"call","id":17,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":17,"result":[null,{"meta":[{"name":"b","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":19,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":19,"result":[null,true]},{"ev":"call","id":22,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":22,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":27,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":27,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":29,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":29,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":31,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":31,"result":[null,true]},{"ev":"call","id":34,"name":"close","args":[]},{"ev":"return","of":34,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/pause/two-by-51-at-102.events.win32.json b/test/contract/native/pause/two-by-51-at-102.events.win32.json new file mode 100644 index 00000000..ecb71c20 --- /dev/null +++ b/test/contract/native/pause/two-by-51-at-102.events.win32.json @@ -0,0 +1 @@ +{"scenario":"pause/two-by-51-at-102.events","transcript":["submitted","meta a","row x51","meta b","row x51","action pause","action resume","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select top 51 object_id as a from sys.all_objects; select top 51 object_id as b from sys.all_objects","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"a","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":[109268936]}}]},{"ev":"call","id":9,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":9,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1346714679]}}]},{"ev":"call","id":11,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":11,"result":[null,{"meta":[{"name":"b","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0}]},{"ev":"call","id":13,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":13,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":[109268936]}}]},{"ev":"call","id":15,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":15,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1346714679]}}]},{"ev":"call","id":17,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":17,"result":[null,{"meta":[{"name":"b","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":19,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":19,"result":[null,true]},{"ev":"call","id":22,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":22,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":27,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":27,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":29,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":29,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":31,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":31,"result":[null,true]},{"ev":"call","id":34,"name":"close","args":[]},{"ev":"return","of":34,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/pause/two-by-51-at-49.events.win32.json b/test/contract/native/pause/two-by-51-at-49.events.win32.json new file mode 100644 index 00000000..d95e8842 --- /dev/null +++ b/test/contract/native/pause/two-by-51-at-49.events.win32.json @@ -0,0 +1 @@ +{"scenario":"pause/two-by-51-at-49.events","transcript":["submitted","meta a","row x49","action pause","action resume","row x2","meta b","row x51","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select top 51 object_id as a from sys.all_objects; select top 51 object_id as b from sys.all_objects","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"a","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":[109268936]}}]},{"ev":"call","id":9,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":9,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1346714679]}}]},{"ev":"call","id":11,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":11,"result":[null,{"meta":[{"name":"b","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0}]},{"ev":"call","id":13,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":13,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":[109268936]}}]},{"ev":"call","id":15,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":15,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1346714679]}}]},{"ev":"call","id":17,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":17,"result":[null,{"meta":[{"name":"b","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":19,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":19,"result":[null,true]},{"ev":"call","id":22,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":22,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":27,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":27,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":29,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":29,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":31,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":31,"result":[null,true]},{"ev":"call","id":34,"name":"close","args":[]},{"ev":"return","of":34,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/pause/two-by-51-at-50.events.win32.json b/test/contract/native/pause/two-by-51-at-50.events.win32.json new file mode 100644 index 00000000..f21bacbd --- /dev/null +++ b/test/contract/native/pause/two-by-51-at-50.events.win32.json @@ -0,0 +1 @@ +{"scenario":"pause/two-by-51-at-50.events","transcript":["submitted","meta a","row x50","action pause","action resume","row","meta b","row x51","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select top 51 object_id as a from sys.all_objects; select top 51 object_id as b from sys.all_objects","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"a","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":[109268936]}}]},{"ev":"call","id":9,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":9,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1346714679]}}]},{"ev":"call","id":11,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":11,"result":[null,{"meta":[{"name":"b","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0}]},{"ev":"call","id":13,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":13,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":[109268936]}}]},{"ev":"call","id":15,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":15,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1346714679]}}]},{"ev":"call","id":17,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":17,"result":[null,{"meta":[{"name":"b","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":19,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":19,"result":[null,true]},{"ev":"call","id":22,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":22,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":27,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":27,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":29,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":29,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":31,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":31,"result":[null,true]},{"ev":"call","id":34,"name":"close","args":[]},{"ev":"return","of":34,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/pause/two-by-51-at-51.events.win32.json b/test/contract/native/pause/two-by-51-at-51.events.win32.json new file mode 100644 index 00000000..c5350cf5 --- /dev/null +++ b/test/contract/native/pause/two-by-51-at-51.events.win32.json @@ -0,0 +1 @@ +{"scenario":"pause/two-by-51-at-51.events","transcript":["submitted","meta a","row x51","action pause","action resume","meta b","row x51","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select top 51 object_id as a from sys.all_objects; select top 51 object_id as b from sys.all_objects","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"a","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":[109268936]}}]},{"ev":"call","id":9,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":9,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1346714679]}}]},{"ev":"call","id":11,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":11,"result":[null,{"meta":[{"name":"b","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0}]},{"ev":"call","id":13,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":13,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":[109268936]}}]},{"ev":"call","id":15,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":15,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1346714679]}}]},{"ev":"call","id":17,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":17,"result":[null,{"meta":[{"name":"b","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":19,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":19,"result":[null,true]},{"ev":"call","id":22,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":22,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":27,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":27,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":29,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":29,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":31,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":31,"result":[null,true]},{"ev":"call","id":34,"name":"close","args":[]},{"ev":"return","of":34,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/pause/two-by-51-at-52.events.win32.json b/test/contract/native/pause/two-by-51-at-52.events.win32.json new file mode 100644 index 00000000..0d5376e1 --- /dev/null +++ b/test/contract/native/pause/two-by-51-at-52.events.win32.json @@ -0,0 +1 @@ +{"scenario":"pause/two-by-51-at-52.events","transcript":["submitted","meta a","row x51","meta b","row","action pause","action resume","row x50","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select top 51 object_id as a from sys.all_objects; select top 51 object_id as b from sys.all_objects","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"a","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":[109268936]}}]},{"ev":"call","id":9,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":9,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1346714679]}}]},{"ev":"call","id":11,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":11,"result":[null,{"meta":[{"name":"b","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0}]},{"ev":"call","id":13,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":13,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":[109268936]}}]},{"ev":"call","id":15,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":15,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1346714679]}}]},{"ev":"call","id":17,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":17,"result":[null,{"meta":[{"name":"b","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":19,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":19,"result":[null,true]},{"ev":"call","id":22,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":22,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":27,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":27,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":29,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":29,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":31,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":31,"result":[null,true]},{"ev":"call","id":34,"name":"close","args":[]},{"ev":"return","of":34,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/queue/bind-failure-then-two-on-free.callback.win32.json b/test/contract/native/queue/bind-failure-then-two-on-free.callback.win32.json new file mode 100644 index 00000000..65954015 --- /dev/null +++ b/test/contract/native/queue/bind-failure-then-two-on-free.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"queue/bind-failure-then-two-on-free.callback","transcript":["submitted","done","free","cb error - - IMNOD: [msnodesql] Parameter 1: Invalid number parameter more=false","q2: submitted","q2: meta n","q2: row","q2: cb ok rows=1 more=false","q2: done","q2: free","q3: submitted","q3: meta n","q3: row","q3: cb ok rows=1 more=false","q3: done","q3: free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select ? as v","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[null]]},{"ev":"return","of":2,"result":[{"$":"error","message":"IMNOD: [msnodesql] Parameter 1: Invalid number parameter"},{"meta":[],"handle":{"connectionId":-1,"statementId":-1},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":4,"name":"query","args":[1,{"query_str":"waitfor delay '00:00:01'; select 2 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":4,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":4,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":4,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":4,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":9,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":9,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[2]}}]},{"ev":"call","id":11,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":0}]},{"ev":"return","of":11,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":13,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":0}]},{"ev":"state","of":4,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":13,"result":[null,true]},{"ev":"call","id":16,"name":"query","args":[2,{"query_str":"select 3 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":16,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":16,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":16,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":16,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":21,"name":"fetchRows","args":[2,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":21,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[3]}}]},{"ev":"call","id":23,"name":"nextResultSet","args":[2,{"connectionId":0,"statementId":1}]},{"ev":"return","of":23,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":25,"name":"releaseStatement","args":[2,{"connectionId":0,"statementId":1}]},{"ev":"state","of":16,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":25,"result":[null,true]},{"ev":"call","id":28,"name":"query","args":[3,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":28,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":28,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":28,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":28,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":33,"name":"fetchRows","args":[3,{"connectionId":0,"statementId":2},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":33,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":35,"name":"nextResultSet","args":[3,{"connectionId":0,"statementId":2}]},{"ev":"return","of":35,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":37,"name":"releaseStatement","args":[3,{"connectionId":0,"statementId":2}]},{"ev":"state","of":28,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":37,"result":[null,true]},{"ev":"call","id":40,"name":"close","args":[]},{"ev":"return","of":40,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/queue/bind-failure-then-two-on-start.callback.win32.json b/test/contract/native/queue/bind-failure-then-two-on-start.callback.win32.json new file mode 100644 index 00000000..fec97303 --- /dev/null +++ b/test/contract/native/queue/bind-failure-then-two-on-start.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"queue/bind-failure-then-two-on-start.callback","transcript":["submitted","done","free","q2: submitted","cb error - - IMNOD: [msnodesql] Parameter 1: Invalid number parameter more=false","q2: meta n","q2: row","q2: cb ok rows=1 more=false","q2: done","q2: free","q3: submitted","q3: meta n","q3: row","q3: cb ok rows=1 more=false","q3: done","q3: free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select ? as v","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[null]]},{"ev":"return","of":2,"result":[{"$":"error","message":"IMNOD: [msnodesql] Parameter 1: Invalid number parameter"},{"meta":[],"handle":{"connectionId":-1,"statementId":-1},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":4,"name":"query","args":[1,{"query_str":"waitfor delay '00:00:01'; select 2 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":4,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":4,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":4,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":4,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":9,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":9,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[2]}}]},{"ev":"call","id":11,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":0}]},{"ev":"return","of":11,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":13,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":0}]},{"ev":"state","of":4,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":13,"result":[null,true]},{"ev":"call","id":16,"name":"query","args":[2,{"query_str":"select 3 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":16,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":16,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":16,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":16,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":21,"name":"fetchRows","args":[2,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":21,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[3]}}]},{"ev":"call","id":23,"name":"nextResultSet","args":[2,{"connectionId":0,"statementId":1}]},{"ev":"return","of":23,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":25,"name":"releaseStatement","args":[2,{"connectionId":0,"statementId":1}]},{"ev":"state","of":16,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":25,"result":[null,true]},{"ev":"call","id":28,"name":"query","args":[3,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":28,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":28,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":28,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":28,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":33,"name":"fetchRows","args":[3,{"connectionId":0,"statementId":2},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":33,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":35,"name":"nextResultSet","args":[3,{"connectionId":0,"statementId":2}]},{"ev":"return","of":35,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":37,"name":"releaseStatement","args":[3,{"connectionId":0,"statementId":2}]},{"ev":"state","of":28,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":37,"result":[null,true]},{"ev":"call","id":40,"name":"close","args":[]},{"ev":"return","of":40,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/queue/error-after-result-then-two-on-free.callback.win32.json b/test/contract/native/queue/error-after-result-then-two-on-free.callback.win32.json new file mode 100644 index 00000000..ebc47a68 --- /dev/null +++ b/test/contract/native/queue/error-after-result-then-two-on-free.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"queue/error-after-result-then-two-on-free.callback","transcript":["submitted","meta n","row","cb error 42000 50000 boom more=false","free","q2: submitted","q2: meta n","q2: row","q2: cb ok rows=1 more=false","q2: done","q2: free","q3: submitted","q3: meta n","q3: row","q3: cb ok rows=1 more=false","q3: done","q3: free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select 1 as n; raiserror('boom', 16, 1)","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":9,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":9,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]boom","sqlstate":"42000","code":50000,"severity":16,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":12,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":12,"result":[null,true]},{"ev":"call","id":15,"name":"query","args":[1,{"query_str":"waitfor delay '00:00:01'; select 2 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":15,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":15,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":15,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":15,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":20,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":20,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[2]}}]},{"ev":"call","id":22,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":22,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":24,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":15,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":24,"result":[null,true]},{"ev":"call","id":27,"name":"query","args":[2,{"query_str":"select 3 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":27,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":27,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":27,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":27,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":32,"name":"fetchRows","args":[2,{"connectionId":0,"statementId":2},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":32,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[3]}}]},{"ev":"call","id":34,"name":"nextResultSet","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"return","of":34,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":36,"name":"releaseStatement","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"state","of":27,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":36,"result":[null,true]},{"ev":"call","id":39,"name":"query","args":[3,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":39,"change":{"handle":{"connectionId":0,"statementId":3},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":39,"change":{"handle":{"connectionId":0,"statementId":3},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":39,"change":{"handle":{"connectionId":0,"statementId":3},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":39,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":3},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":44,"name":"fetchRows","args":[3,{"connectionId":0,"statementId":3},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":44,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":46,"name":"nextResultSet","args":[3,{"connectionId":0,"statementId":3}]},{"ev":"return","of":46,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":3},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":48,"name":"releaseStatement","args":[3,{"connectionId":0,"statementId":3}]},{"ev":"state","of":39,"change":{"handle":{"connectionId":0,"statementId":3},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":48,"result":[null,true]},{"ev":"call","id":51,"name":"close","args":[]},{"ev":"return","of":51,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/queue/error-after-result-then-two-on-start.callback.win32.json b/test/contract/native/queue/error-after-result-then-two-on-start.callback.win32.json new file mode 100644 index 00000000..a6e48a22 --- /dev/null +++ b/test/contract/native/queue/error-after-result-then-two-on-start.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"queue/error-after-result-then-two-on-start.callback","transcript":["submitted","meta n","row","cb error 42000 50000 boom more=false","free","q2: submitted","q2: meta n","q2: row","q2: cb ok rows=1 more=false","q2: done","q2: free","q3: submitted","q3: meta n","q3: row","q3: cb ok rows=1 more=false","q3: done","q3: free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select 1 as n; raiserror('boom', 16, 1)","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":9,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":9,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]boom","sqlstate":"42000","code":50000,"severity":16,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":12,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":12,"result":[null,true]},{"ev":"call","id":15,"name":"query","args":[1,{"query_str":"waitfor delay '00:00:01'; select 2 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":15,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":15,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":15,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":15,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":20,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":20,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[2]}}]},{"ev":"call","id":22,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":22,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":24,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":15,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":24,"result":[null,true]},{"ev":"call","id":27,"name":"query","args":[2,{"query_str":"select 3 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":27,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":27,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":27,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":27,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":32,"name":"fetchRows","args":[2,{"connectionId":0,"statementId":2},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":32,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[3]}}]},{"ev":"call","id":34,"name":"nextResultSet","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"return","of":34,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":36,"name":"releaseStatement","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"state","of":27,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":36,"result":[null,true]},{"ev":"call","id":39,"name":"query","args":[3,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":39,"change":{"handle":{"connectionId":0,"statementId":3},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":39,"change":{"handle":{"connectionId":0,"statementId":3},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":39,"change":{"handle":{"connectionId":0,"statementId":3},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":39,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":3},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":44,"name":"fetchRows","args":[3,{"connectionId":0,"statementId":3},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":44,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":46,"name":"nextResultSet","args":[3,{"connectionId":0,"statementId":3}]},{"ev":"return","of":46,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":3},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":48,"name":"releaseStatement","args":[3,{"connectionId":0,"statementId":3}]},{"ev":"state","of":39,"change":{"handle":{"connectionId":0,"statementId":3},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":48,"result":[null,true]},{"ev":"call","id":51,"name":"close","args":[]},{"ev":"return","of":51,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/queue/error-at-execute-then-cancel-follow-up.callback.win32.json b/test/contract/native/queue/error-at-execute-then-cancel-follow-up.callback.win32.json new file mode 100644 index 00000000..54ded1f7 --- /dev/null +++ b/test/contract/native/queue/error-at-execute-then-cancel-follow-up.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"queue/error-at-execute-then-cancel-follow-up.callback","transcript":["submitted","free","cb error 42000 50000 boom more=false","q2: submitted","q2: action cancel","q2: done","q2: cancel-cb ok","q2: free","q2: cb error HY008 0 Operation canceled more=false","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"raiserror('boom', 16, 1)","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":2,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]boom","sqlstate":"42000","code":50000,"severity":16,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":8,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":8,"result":[null,true]},{"ev":"call","id":11,"name":"query","args":[1,{"query_str":"waitfor delay '00:00:01'; select 2 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":11,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":11,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"call","id":14,"name":"cancelQuery","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":11,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_CANCEL_HANDLE"}},{"ev":"state","of":11,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CANCEL_HANDLE","newState":"STATEMENT_ERROR"}},{"ev":"return","of":14,"result":[null,true]},{"ev":"return","of":11,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server]Operation canceled","sqlstate":"HY008","code":0,"severity":0,"serverName":"","procName":"","lineNumber":0}],{"meta":[],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":19,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":11,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":19,"result":[null,true]},{"ev":"call","id":22,"name":"query","args":[2,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":22,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":27,"name":"fetchRows","args":[2,{"connectionId":0,"statementId":2},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":27,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":29,"name":"nextResultSet","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"return","of":29,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":31,"name":"releaseStatement","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":31,"result":[null,true]},{"ev":"call","id":34,"name":"close","args":[]},{"ev":"return","of":34,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/queue/error-at-execute-then-two-on-free.callback.win32.json b/test/contract/native/queue/error-at-execute-then-two-on-free.callback.win32.json new file mode 100644 index 00000000..06d830f3 --- /dev/null +++ b/test/contract/native/queue/error-at-execute-then-two-on-free.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"queue/error-at-execute-then-two-on-free.callback","transcript":["submitted","free","cb error 42000 50000 boom more=false","q2: submitted","q2: meta n","q2: row","q2: cb ok rows=1 more=false","q2: done","q2: free","q3: submitted","q3: meta n","q3: row","q3: cb ok rows=1 more=false","q3: done","q3: free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"raiserror('boom', 16, 1)","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":2,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]boom","sqlstate":"42000","code":50000,"severity":16,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":8,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":8,"result":[null,true]},{"ev":"call","id":11,"name":"query","args":[1,{"query_str":"waitfor delay '00:00:01'; select 2 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":11,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":11,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":11,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":11,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":16,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":16,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[2]}}]},{"ev":"call","id":18,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":18,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":20,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":11,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":20,"result":[null,true]},{"ev":"call","id":23,"name":"query","args":[2,{"query_str":"select 3 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":23,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":23,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":23,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":23,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":28,"name":"fetchRows","args":[2,{"connectionId":0,"statementId":2},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":28,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[3]}}]},{"ev":"call","id":30,"name":"nextResultSet","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"return","of":30,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":32,"name":"releaseStatement","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"state","of":23,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":32,"result":[null,true]},{"ev":"call","id":35,"name":"query","args":[3,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":35,"change":{"handle":{"connectionId":0,"statementId":3},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":35,"change":{"handle":{"connectionId":0,"statementId":3},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":35,"change":{"handle":{"connectionId":0,"statementId":3},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":35,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":3},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":40,"name":"fetchRows","args":[3,{"connectionId":0,"statementId":3},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":40,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":42,"name":"nextResultSet","args":[3,{"connectionId":0,"statementId":3}]},{"ev":"return","of":42,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":3},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":44,"name":"releaseStatement","args":[3,{"connectionId":0,"statementId":3}]},{"ev":"state","of":35,"change":{"handle":{"connectionId":0,"statementId":3},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":44,"result":[null,true]},{"ev":"call","id":47,"name":"close","args":[]},{"ev":"return","of":47,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/queue/error-at-execute-then-two-on-start.callback.win32.json b/test/contract/native/queue/error-at-execute-then-two-on-start.callback.win32.json new file mode 100644 index 00000000..01274640 --- /dev/null +++ b/test/contract/native/queue/error-at-execute-then-two-on-start.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"queue/error-at-execute-then-two-on-start.callback","transcript":["submitted","free","cb error 42000 50000 boom more=false","q2: submitted","q2: meta n","q2: row","q2: cb ok rows=1 more=false","q2: done","q2: free","q3: submitted","q3: meta n","q3: row","q3: cb ok rows=1 more=false","q3: done","q3: free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"raiserror('boom', 16, 1)","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":2,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]boom","sqlstate":"42000","code":50000,"severity":16,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":8,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":8,"result":[null,true]},{"ev":"call","id":11,"name":"query","args":[1,{"query_str":"waitfor delay '00:00:01'; select 2 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":11,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":11,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":11,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":11,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":16,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":16,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[2]}}]},{"ev":"call","id":18,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":18,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":20,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":11,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":20,"result":[null,true]},{"ev":"call","id":23,"name":"query","args":[2,{"query_str":"select 3 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":23,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":23,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":23,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":23,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":28,"name":"fetchRows","args":[2,{"connectionId":0,"statementId":2},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":28,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[3]}}]},{"ev":"call","id":30,"name":"nextResultSet","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"return","of":30,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":32,"name":"releaseStatement","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"state","of":23,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":32,"result":[null,true]},{"ev":"call","id":35,"name":"query","args":[3,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":35,"change":{"handle":{"connectionId":0,"statementId":3},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":35,"change":{"handle":{"connectionId":0,"statementId":3},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":35,"change":{"handle":{"connectionId":0,"statementId":3},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":35,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":3},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":40,"name":"fetchRows","args":[3,{"connectionId":0,"statementId":3},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":40,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":42,"name":"nextResultSet","args":[3,{"connectionId":0,"statementId":3}]},{"ev":"return","of":42,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":3},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":44,"name":"releaseStatement","args":[3,{"connectionId":0,"statementId":3}]},{"ev":"state","of":35,"change":{"handle":{"connectionId":0,"statementId":3},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":44,"result":[null,true]},{"ev":"call","id":47,"name":"close","args":[]},{"ev":"return","of":47,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/queue/ok-then-cancel-follow-up.callback.win32.json b/test/contract/native/queue/ok-then-cancel-follow-up.callback.win32.json new file mode 100644 index 00000000..a0170dc5 --- /dev/null +++ b/test/contract/native/queue/ok-then-cancel-follow-up.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"queue/ok-then-cancel-follow-up.callback","transcript":["submitted","meta n","row","cb ok rows=1 more=false","done","free","q2: submitted","q2: action cancel","q2: done","q2: cancel-cb ok","q2: free","q2: cb error HY008 0 Operation canceled more=false","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":9,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":9,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":11,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":11,"result":[null,true]},{"ev":"call","id":14,"name":"query","args":[1,{"query_str":"waitfor delay '00:00:01'; select 2 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"call","id":17,"name":"cancelQuery","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_CANCEL_HANDLE"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CANCEL_HANDLE","newState":"STATEMENT_ERROR"}},{"ev":"return","of":17,"result":[null,true]},{"ev":"return","of":14,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server]Operation canceled","sqlstate":"HY008","code":0,"severity":0,"serverName":"","procName":"","lineNumber":0}],{"meta":[],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0},false]},{"ev":"call","id":22,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":22,"result":[null,true]},{"ev":"call","id":25,"name":"query","args":[2,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":25,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":25,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":25,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":25,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":30,"name":"fetchRows","args":[2,{"connectionId":0,"statementId":2},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":30,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":32,"name":"nextResultSet","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"return","of":32,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":34,"name":"releaseStatement","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"state","of":25,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":34,"result":[null,true]},{"ev":"call","id":37,"name":"close","args":[]},{"ev":"return","of":37,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/queue/ok-then-two-on-free.callback.win32.json b/test/contract/native/queue/ok-then-two-on-free.callback.win32.json new file mode 100644 index 00000000..20d0b045 --- /dev/null +++ b/test/contract/native/queue/ok-then-two-on-free.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"queue/ok-then-two-on-free.callback","transcript":["submitted","meta v","row","cb ok rows=1 more=false","done","free","q2: submitted","q2: meta n","q2: row","q2: cb ok rows=1 more=false","q2: done","q2: free","q3: submitted","q3: meta n","q3: row","q3: cb ok rows=1 more=false","q3: done","q3: free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select ? as v","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[1]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"v","nullable":true,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":9,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":9,"result":[null,{"meta":[{"name":"v","nullable":true,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":11,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":11,"result":[null,true]},{"ev":"call","id":14,"name":"query","args":[1,{"query_str":"waitfor delay '00:00:01'; select 2 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":14,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":19,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":19,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[2]}}]},{"ev":"call","id":21,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":21,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":23,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":23,"result":[null,true]},{"ev":"call","id":26,"name":"query","args":[2,{"query_str":"select 3 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":26,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":26,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":26,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":26,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":31,"name":"fetchRows","args":[2,{"connectionId":0,"statementId":2},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":31,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[3]}}]},{"ev":"call","id":33,"name":"nextResultSet","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"return","of":33,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":35,"name":"releaseStatement","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"state","of":26,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":35,"result":[null,true]},{"ev":"call","id":38,"name":"query","args":[3,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":38,"change":{"handle":{"connectionId":0,"statementId":3},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":38,"change":{"handle":{"connectionId":0,"statementId":3},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":38,"change":{"handle":{"connectionId":0,"statementId":3},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":38,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":3},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":43,"name":"fetchRows","args":[3,{"connectionId":0,"statementId":3},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":43,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":45,"name":"nextResultSet","args":[3,{"connectionId":0,"statementId":3}]},{"ev":"return","of":45,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":3},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":47,"name":"releaseStatement","args":[3,{"connectionId":0,"statementId":3}]},{"ev":"state","of":38,"change":{"handle":{"connectionId":0,"statementId":3},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":47,"result":[null,true]},{"ev":"call","id":50,"name":"close","args":[]},{"ev":"return","of":50,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/queue/ok-then-two-on-start.callback.win32.json b/test/contract/native/queue/ok-then-two-on-start.callback.win32.json new file mode 100644 index 00000000..2c65ce79 --- /dev/null +++ b/test/contract/native/queue/ok-then-two-on-start.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"queue/ok-then-two-on-start.callback","transcript":["submitted","meta v","row","cb ok rows=1 more=false","done","free","q2: submitted","q2: meta n","q2: row","q2: cb ok rows=1 more=false","q2: done","q2: free","q3: submitted","q3: meta n","q3: row","q3: cb ok rows=1 more=false","q3: done","q3: free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select ? as v","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[1]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"v","nullable":true,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":9,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":9,"result":[null,{"meta":[{"name":"v","nullable":true,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":11,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":11,"result":[null,true]},{"ev":"call","id":14,"name":"query","args":[1,{"query_str":"waitfor delay '00:00:01'; select 2 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":14,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":19,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":19,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[2]}}]},{"ev":"call","id":21,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":21,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":23,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":23,"result":[null,true]},{"ev":"call","id":26,"name":"query","args":[2,{"query_str":"select 3 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":26,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":26,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":26,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":26,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":31,"name":"fetchRows","args":[2,{"connectionId":0,"statementId":2},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":31,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[3]}}]},{"ev":"call","id":33,"name":"nextResultSet","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"return","of":33,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":35,"name":"releaseStatement","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"state","of":26,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":35,"result":[null,true]},{"ev":"call","id":38,"name":"query","args":[3,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":38,"change":{"handle":{"connectionId":0,"statementId":3},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":38,"change":{"handle":{"connectionId":0,"statementId":3},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":38,"change":{"handle":{"connectionId":0,"statementId":3},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":38,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":3},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":43,"name":"fetchRows","args":[3,{"connectionId":0,"statementId":3},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":43,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":45,"name":"nextResultSet","args":[3,{"connectionId":0,"statementId":3}]},{"ev":"return","of":45,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":3},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":47,"name":"releaseStatement","args":[3,{"connectionId":0,"statementId":3}]},{"ev":"state","of":38,"change":{"handle":{"connectionId":0,"statementId":3},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":47,"result":[null,true]},{"ev":"call","id":50,"name":"close","args":[]},{"ev":"return","of":50,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/queue/paused-then-cancel-queued-before.events.win32.json b/test/contract/native/queue/paused-then-cancel-queued-before.events.win32.json new file mode 100644 index 00000000..aa277aa4 --- /dev/null +++ b/test/contract/native/queue/paused-then-cancel-queued-before.events.win32.json @@ -0,0 +1 @@ +{"scenario":"queue/paused-then-cancel-queued-before.events","transcript":["submitted","meta a","row x3","action pause","action cancel","done","cancel-cb ok","error HY008 0 Operation canceled more=false","free","q2: submitted","q2: meta n","q2: row","q2: cb ok rows=1 more=false","q2: done","q2: free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select top 51 object_id as a from sys.all_objects; select top 51 object_id as b from sys.all_objects","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"a","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":[109268936]}}]},{"ev":"call","id":9,"name":"cancelQuery","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CANCEL_HANDLE"}},{"ev":"return","of":9,"result":[null,true]},{"ev":"call","id":12,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CANCEL_HANDLE","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":12,"result":[null,true]},{"ev":"call","id":15,"name":"query","args":[1,{"query_str":"select 2 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":15,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":15,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":15,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":15,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":20,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":20,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[2]}}]},{"ev":"call","id":22,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":22,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":24,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":15,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":24,"result":[null,true]},{"ev":"call","id":27,"name":"query","args":[2,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":27,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":27,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":27,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":27,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":32,"name":"fetchRows","args":[2,{"connectionId":0,"statementId":2},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":32,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":34,"name":"nextResultSet","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"return","of":34,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":36,"name":"releaseStatement","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"state","of":27,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":36,"result":[null,true]},{"ev":"call","id":39,"name":"close","args":[]},{"ev":"return","of":39,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/queue/paused-then-resume-queued-before.events.win32.json b/test/contract/native/queue/paused-then-resume-queued-before.events.win32.json new file mode 100644 index 00000000..4f4e364e --- /dev/null +++ b/test/contract/native/queue/paused-then-resume-queued-before.events.win32.json @@ -0,0 +1 @@ +{"scenario":"queue/paused-then-resume-queued-before.events","transcript":["submitted","meta a","row x3","action pause","action resume","row x48","meta b","row x51","done","free","q2: submitted","q2: meta n","q2: row","q2: cb ok rows=1 more=false","q2: done","q2: free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select top 51 object_id as a from sys.all_objects; select top 51 object_id as b from sys.all_objects","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"a","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":[109268936]}}]},{"ev":"call","id":9,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":9,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1346714679]}}]},{"ev":"call","id":11,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":11,"result":[null,{"meta":[{"name":"b","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0}]},{"ev":"call","id":13,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":13,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":[109268936]}}]},{"ev":"call","id":15,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":15,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1346714679]}}]},{"ev":"call","id":17,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":17,"result":[null,{"meta":[{"name":"b","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":19,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":19,"result":[null,true]},{"ev":"call","id":22,"name":"query","args":[1,{"query_str":"select 2 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":22,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":27,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":27,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[2]}}]},{"ev":"call","id":29,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":29,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":31,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":31,"result":[null,true]},{"ev":"call","id":34,"name":"query","args":[2,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":34,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":34,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":34,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":34,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":39,"name":"fetchRows","args":[2,{"connectionId":0,"statementId":2},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":39,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":41,"name":"nextResultSet","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"return","of":41,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":43,"name":"releaseStatement","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"state","of":34,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":43,"result":[null,true]},{"ev":"call","id":46,"name":"close","args":[]},{"ev":"return","of":46,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/queue/paused-then-submit.callback.win32.json b/test/contract/native/queue/paused-then-submit.callback.win32.json new file mode 100644 index 00000000..d5126f4c --- /dev/null +++ b/test/contract/native/queue/paused-then-submit.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"queue/paused-then-submit.callback","transcript":["submitted","meta a","row x10","action pause","q2: cb error HY010 0 query 0 on this connection is paused - resume or cancel it before submitting more work more=false","q2: done","q2: free","action resume","row x10","cb ok rows=20 more=false","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select top 20 object_id as a from sys.all_objects","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"a","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":20,"first":[109268936]}}]},{"ev":"call","id":9,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":9,"result":[null,{"meta":[{"name":"a","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":11,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":11,"result":[null,true]},{"ev":"call","id":14,"name":"query","args":[2,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":14,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":19,"name":"fetchRows","args":[2,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":19,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":21,"name":"nextResultSet","args":[2,{"connectionId":0,"statementId":1}]},{"ev":"return","of":21,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":23,"name":"releaseStatement","args":[2,{"connectionId":0,"statementId":1}]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":23,"result":[null,true]},{"ev":"call","id":26,"name":"close","args":[]},{"ev":"return","of":26,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/read/insert-rowcount.callback.win32.json b/test/contract/native/read/insert-rowcount.callback.win32.json new file mode 100644 index 00000000..1831d3e2 --- /dev/null +++ b/test/contract/native/read/insert-rowcount.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"read/insert-rowcount.callback","transcript":["submitted","rowcount 1","cb ok rows=0 more=false","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"create table #r (id int)","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":7,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":9,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":9,"result":[null,true]},{"ev":"call","id":12,"name":"query","args":[1,{"query_str":"insert #r values (1)","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":12,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":1},true]},{"ev":"call","id":17,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":17,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":1}]},{"ev":"call","id":19,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":19,"result":[null,true]},{"ev":"call","id":22,"name":"query","args":[2,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":22,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":27,"name":"fetchRows","args":[2,{"connectionId":0,"statementId":2},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":27,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":29,"name":"nextResultSet","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"return","of":29,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":31,"name":"releaseStatement","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":31,"result":[null,true]},{"ev":"call","id":34,"name":"close","args":[]},{"ev":"return","of":34,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/read/insert-rowcount.events.win32.json b/test/contract/native/read/insert-rowcount.events.win32.json new file mode 100644 index 00000000..adb75619 --- /dev/null +++ b/test/contract/native/read/insert-rowcount.events.win32.json @@ -0,0 +1 @@ +{"scenario":"read/insert-rowcount.events","transcript":["submitted","rowcount 1","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"create table #r (id int)","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":7,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":9,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":9,"result":[null,true]},{"ev":"call","id":12,"name":"query","args":[1,{"query_str":"insert #r values (1)","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":12,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":1},true]},{"ev":"call","id":17,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":17,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":1}]},{"ev":"call","id":19,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":19,"result":[null,true]},{"ev":"call","id":22,"name":"query","args":[2,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":22,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":27,"name":"fetchRows","args":[2,{"connectionId":0,"statementId":2},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":27,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":29,"name":"nextResultSet","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"return","of":29,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":31,"name":"releaseStatement","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":31,"result":[null,true]},{"ev":"call","id":34,"name":"close","args":[]},{"ev":"return","of":34,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/read/insert-then-select.callback.win32.json b/test/contract/native/read/insert-then-select.callback.win32.json new file mode 100644 index 00000000..a6a164c3 --- /dev/null +++ b/test/contract/native/read/insert-then-select.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"read/insert-then-select.callback","transcript":["submitted","rowcount 1","meta id","cb ok rows=0 more=true","row","column 0 1","cb ok rows=1 more=false","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"create table #r (id int)","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":7,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":9,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":9,"result":[null,true]},{"ev":"call","id":12,"name":"query","args":[1,{"query_str":"insert #r values (1); select id from #r","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":12,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":1},true]},{"ev":"call","id":17,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":17,"result":[null,{"meta":[{"name":"id","nullable":true,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0}]},{"ev":"call","id":19,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":19,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":21,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":21,"result":[null,{"meta":[{"name":"id","nullable":true,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":23,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":23,"result":[null,true]},{"ev":"call","id":26,"name":"query","args":[2,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":26,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":26,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":26,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":26,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":31,"name":"fetchRows","args":[2,{"connectionId":0,"statementId":2},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":31,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":33,"name":"nextResultSet","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"return","of":33,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":35,"name":"releaseStatement","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"state","of":26,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":35,"result":[null,true]},{"ev":"call","id":38,"name":"close","args":[]},{"ev":"return","of":38,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/read/insert-then-select.events.win32.json b/test/contract/native/read/insert-then-select.events.win32.json new file mode 100644 index 00000000..9f164486 --- /dev/null +++ b/test/contract/native/read/insert-then-select.events.win32.json @@ -0,0 +1 @@ +{"scenario":"read/insert-then-select.events","transcript":["submitted","rowcount 1","meta id","row","column 0 1","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"create table #r (id int)","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":7,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":9,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":9,"result":[null,true]},{"ev":"call","id":12,"name":"query","args":[1,{"query_str":"insert #r values (1); select id from #r","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":12,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":1},true]},{"ev":"call","id":17,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":17,"result":[null,{"meta":[{"name":"id","nullable":true,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0}]},{"ev":"call","id":19,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":19,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":21,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":21,"result":[null,{"meta":[{"name":"id","nullable":true,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":23,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":12,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":23,"result":[null,true]},{"ev":"call","id":26,"name":"query","args":[2,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":26,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":26,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":26,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":26,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":31,"name":"fetchRows","args":[2,{"connectionId":0,"statementId":2},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":31,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":33,"name":"nextResultSet","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"return","of":33,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":2},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":35,"name":"releaseStatement","args":[2,{"connectionId":0,"statementId":2}]},{"ev":"state","of":26,"change":{"handle":{"connectionId":0,"statementId":2},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":35,"result":[null,true]},{"ev":"call","id":38,"name":"close","args":[]},{"ev":"return","of":38,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/read/no-rows.callback.win32.json b/test/contract/native/read/no-rows.callback.win32.json new file mode 100644 index 00000000..e16d1c63 --- /dev/null +++ b/test/contract/native/read/no-rows.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"read/no-rows.callback","transcript":["submitted","meta n","cb ok rows=0 more=false","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select top 0 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[]}]},{"ev":"call","id":9,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":9,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":11,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":11,"result":[null,true]},{"ev":"call","id":14,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":14,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":19,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":19,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":21,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":21,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":23,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":23,"result":[null,true]},{"ev":"call","id":26,"name":"close","args":[]},{"ev":"return","of":26,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/read/no-rows.events.win32.json b/test/contract/native/read/no-rows.events.win32.json new file mode 100644 index 00000000..477392ac --- /dev/null +++ b/test/contract/native/read/no-rows.events.win32.json @@ -0,0 +1 @@ +{"scenario":"read/no-rows.events","transcript":["submitted","meta n","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select top 0 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[]}]},{"ev":"call","id":9,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":9,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":11,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":11,"result":[null,true]},{"ev":"call","id":14,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":14,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":19,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":19,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":21,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":21,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":23,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":23,"result":[null,true]},{"ev":"call","id":26,"name":"close","args":[]},{"ev":"return","of":26,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/read/one-row.callback.win32.json b/test/contract/native/read/one-row.callback.win32.json new file mode 100644 index 00000000..924dc237 --- /dev/null +++ b/test/contract/native/read/one-row.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"read/one-row.callback","transcript":["submitted","meta n","row","column 0 1","cb ok rows=1 more=false","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":9,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":9,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":11,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":11,"result":[null,true]},{"ev":"call","id":14,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":14,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":19,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":19,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":21,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":21,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":23,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":23,"result":[null,true]},{"ev":"call","id":26,"name":"close","args":[]},{"ev":"return","of":26,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/read/one-row.events.win32.json b/test/contract/native/read/one-row.events.win32.json new file mode 100644 index 00000000..6f514fa0 --- /dev/null +++ b/test/contract/native/read/one-row.events.win32.json @@ -0,0 +1 @@ +{"scenario":"read/one-row.events","transcript":["submitted","meta n","row","column 0 1","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":9,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":9,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":11,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":11,"result":[null,true]},{"ev":"call","id":14,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":14,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":19,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":19,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":21,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":21,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":23,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":23,"result":[null,true]},{"ev":"call","id":26,"name":"close","args":[]},{"ev":"return","of":26,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/read/param.callback.win32.json b/test/contract/native/read/param.callback.win32.json new file mode 100644 index 00000000..828b14af --- /dev/null +++ b/test/contract/native/read/param.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"read/param.callback","transcript":["submitted","meta v","row","column 0 1","cb ok rows=1 more=false","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select ? as v","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[1]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"v","nullable":true,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":9,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":9,"result":[null,{"meta":[{"name":"v","nullable":true,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":11,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":11,"result":[null,true]},{"ev":"call","id":14,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":14,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":19,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":19,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":21,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":21,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":23,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":23,"result":[null,true]},{"ev":"call","id":26,"name":"close","args":[]},{"ev":"return","of":26,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/read/param.events.win32.json b/test/contract/native/read/param.events.win32.json new file mode 100644 index 00000000..5c7dda1a --- /dev/null +++ b/test/contract/native/read/param.events.win32.json @@ -0,0 +1 @@ +{"scenario":"read/param.events","transcript":["submitted","meta v","row","column 0 1","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select ? as v","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[1]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"v","nullable":true,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":9,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":9,"result":[null,{"meta":[{"name":"v","nullable":true,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":11,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":11,"result":[null,true]},{"ev":"call","id":14,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":14,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":19,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":19,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":21,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":21,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":23,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":23,"result":[null,true]},{"ev":"call","id":26,"name":"close","args":[]},{"ev":"return","of":26,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/read/print-only.callback.win32.json b/test/contract/native/read/print-only.callback.win32.json new file mode 100644 index 00000000..5439d70a --- /dev/null +++ b/test/contract/native/read/print-only.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"read/print-only.callback","transcript":["submitted","info 01000 0 p1","rowcount 0","cb ok rows=0 more=false","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"print 'p1'","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":2,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]p1","sqlstate":"01000","code":0,"severity":0,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":false,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":8,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":8,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":10,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":10,"result":[null,true]},{"ev":"call","id":13,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":13,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":18,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":18,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":20,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":20,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":22,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":22,"result":[null,true]},{"ev":"call","id":25,"name":"close","args":[]},{"ev":"return","of":25,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/read/print-only.events.win32.json b/test/contract/native/read/print-only.events.win32.json new file mode 100644 index 00000000..23825576 --- /dev/null +++ b/test/contract/native/read/print-only.events.win32.json @@ -0,0 +1 @@ +{"scenario":"read/print-only.events","transcript":["submitted","info 01000 0 p1","rowcount 0","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"print 'p1'","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":2,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]p1","sqlstate":"01000","code":0,"severity":0,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":false,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":8,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":8,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":10,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":10,"result":[null,true]},{"ev":"call","id":13,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":13,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":18,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":18,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":20,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":20,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":22,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":13,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":22,"result":[null,true]},{"ev":"call","id":25,"name":"close","args":[]},{"ev":"return","of":25,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/read/print-then-select.callback.win32.json b/test/contract/native/read/print-then-select.callback.win32.json new file mode 100644 index 00000000..e5eb5fbb --- /dev/null +++ b/test/contract/native/read/print-then-select.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"read/print-then-select.callback","transcript":["submitted","info 01000 0 p1","rowcount 0","meta n","cb ok rows=0 more=true","row","column 0 1","cb ok rows=1 more=false","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"print 'p1'; select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":2,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]p1","sqlstate":"01000","code":0,"severity":0,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":false,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":8,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":8,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0}]},{"ev":"call","id":10,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":10,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":12,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":12,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":14,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":14,"result":[null,true]},{"ev":"call","id":17,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":17,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":17,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":17,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":17,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":22,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":22,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":24,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":24,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":26,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":17,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":26,"result":[null,true]},{"ev":"call","id":29,"name":"close","args":[]},{"ev":"return","of":29,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/read/print-then-select.events.win32.json b/test/contract/native/read/print-then-select.events.win32.json new file mode 100644 index 00000000..11de5aa5 --- /dev/null +++ b/test/contract/native/read/print-then-select.events.win32.json @@ -0,0 +1 @@ +{"scenario":"read/print-then-select.events","transcript":["submitted","info 01000 0 p1","rowcount 0","meta n","row","column 0 1","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"print 'p1'; select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":2,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]p1","sqlstate":"01000","code":0,"severity":0,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":false,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":8,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":8,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0}]},{"ev":"call","id":10,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":10,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":12,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":12,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":14,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":14,"result":[null,true]},{"ev":"call","id":17,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":17,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":17,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":17,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":17,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":22,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":22,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":24,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":24,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":26,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":17,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":26,"result":[null,true]},{"ev":"call","id":29,"name":"close","args":[]},{"ev":"return","of":29,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/read/rows-50.events.win32.json b/test/contract/native/read/rows-50.events.win32.json new file mode 100644 index 00000000..14cec5be --- /dev/null +++ b/test/contract/native/read/rows-50.events.win32.json @@ -0,0 +1 @@ +{"scenario":"read/rows-50.events","transcript":["submitted","meta a","row x50","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select top 50 object_id as a from sys.all_objects","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"a","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":[109268936]}}]},{"ev":"call","id":9,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":9,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[]}]},{"ev":"call","id":11,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":11,"result":[null,{"meta":[{"name":"a","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":13,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":13,"result":[null,true]},{"ev":"call","id":16,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":16,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":16,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":16,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":16,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":21,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":21,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":23,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":23,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":25,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":16,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":25,"result":[null,true]},{"ev":"call","id":28,"name":"close","args":[]},{"ev":"return","of":28,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/read/rows-51.events.win32.json b/test/contract/native/read/rows-51.events.win32.json new file mode 100644 index 00000000..8edebbcc --- /dev/null +++ b/test/contract/native/read/rows-51.events.win32.json @@ -0,0 +1 @@ +{"scenario":"read/rows-51.events","transcript":["submitted","meta a","row x51","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select top 51 object_id as a from sys.all_objects","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"a","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":[109268936]}}]},{"ev":"call","id":9,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":9,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1346714679]}}]},{"ev":"call","id":11,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":11,"result":[null,{"meta":[{"name":"a","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":13,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":13,"result":[null,true]},{"ev":"call","id":16,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":16,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":16,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":16,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":16,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":21,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":21,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":23,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":23,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":25,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":16,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":25,"result":[null,true]},{"ev":"call","id":28,"name":"close","args":[]},{"ev":"return","of":28,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/read/select-then-print.callback.win32.json b/test/contract/native/read/select-then-print.callback.win32.json new file mode 100644 index 00000000..c8156849 --- /dev/null +++ b/test/contract/native/read/select-then-print.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"read/select-then-print.callback","transcript":["submitted","meta n","row","column 0 1","info 01000 0 p1","rowcount 0","cb ok rows=0 more=true","cb ok rows=1 more=false","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select 1 as n; print 'p1'","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":9,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":9,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]p1","sqlstate":"01000","code":0,"severity":0,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":false,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":12,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":12,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":14,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":14,"result":[null,true]},{"ev":"call","id":17,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":17,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":17,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":17,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":17,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":22,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":22,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":24,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":24,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":26,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":17,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":26,"result":[null,true]},{"ev":"call","id":29,"name":"close","args":[]},{"ev":"return","of":29,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/read/select-then-print.events.win32.json b/test/contract/native/read/select-then-print.events.win32.json new file mode 100644 index 00000000..5afe5fa1 --- /dev/null +++ b/test/contract/native/read/select-then-print.events.win32.json @@ -0,0 +1 @@ +{"scenario":"read/select-then-print.events","transcript":["submitted","meta n","row","column 0 1","info 01000 0 p1","rowcount 0","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select 1 as n; print 'p1'","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":9,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_ERROR"}},{"ev":"return","of":9,"result":[[{"$":"error","message":"[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]p1","sqlstate":"01000","code":0,"severity":0,"serverName":"","procName":"","lineNumber":1}],{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":false,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":12,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":12,"result":[null,{"meta":[],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":14,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_ERROR","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":14,"result":[null,true]},{"ev":"call","id":17,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":17,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":17,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":17,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":17,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":22,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":22,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":24,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":24,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":26,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":17,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":26,"result":[null,true]},{"ev":"call","id":29,"name":"close","args":[]},{"ev":"return","of":29,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/read/two-by-51.events.win32.json b/test/contract/native/read/two-by-51.events.win32.json new file mode 100644 index 00000000..a35780d5 --- /dev/null +++ b/test/contract/native/read/two-by-51.events.win32.json @@ -0,0 +1 @@ +{"scenario":"read/two-by-51.events","transcript":["submitted","meta a","row x51","meta b","row x51","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select top 51 object_id as a from sys.all_objects; select top 51 object_id as b from sys.all_objects","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"a","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":[109268936]}}]},{"ev":"call","id":9,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":9,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1346714679]}}]},{"ev":"call","id":11,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":11,"result":[null,{"meta":[{"name":"b","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0}]},{"ev":"call","id":13,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":13,"result":[null,{"endOfRows":false,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":50,"first":[109268936]}}]},{"ev":"call","id":15,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":15,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1346714679]}}]},{"ev":"call","id":17,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":17,"result":[null,{"meta":[{"name":"b","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":19,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":19,"result":[null,true]},{"ev":"call","id":22,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":22,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":27,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":27,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":{"$":"rows","n":1,"first":[1]}}]},{"ev":"call","id":29,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":29,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":31,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":22,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":31,"result":[null,true]},{"ev":"call","id":34,"name":"close","args":[]},{"ev":"return","of":34,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/read/two-result-sets.callback.win32.json b/test/contract/native/read/two-result-sets.callback.win32.json new file mode 100644 index 00000000..fec2cc52 --- /dev/null +++ b/test/contract/native/read/two-result-sets.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"read/two-result-sets.callback","transcript":["submitted","meta a","row","column 0 1","meta b","cb ok rows=1 more=true","row","column 0 2","cb ok rows=1 more=false","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select 1 as a; select 2 as b","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"a","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":9,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":9,"result":[null,{"meta":[{"name":"b","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0}]},{"ev":"call","id":11,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":11,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[2]]}]},{"ev":"call","id":13,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":13,"result":[null,{"meta":[{"name":"b","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":15,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":15,"result":[null,true]},{"ev":"call","id":18,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":18,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":18,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":18,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":18,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":23,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":23,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":25,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":25,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":27,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":18,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":27,"result":[null,true]},{"ev":"call","id":30,"name":"close","args":[]},{"ev":"return","of":30,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/read/two-result-sets.events.win32.json b/test/contract/native/read/two-result-sets.events.win32.json new file mode 100644 index 00000000..93150e80 --- /dev/null +++ b/test/contract/native/read/two-result-sets.events.win32.json @@ -0,0 +1 @@ +{"scenario":"read/two-result-sets.events","transcript":["submitted","meta a","row","column 0 1","meta b","row","column 0 2","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select 1 as a; select 2 as b","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"a","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":9,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":9,"result":[null,{"meta":[{"name":"b","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0}]},{"ev":"call","id":11,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":11,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[2]]}]},{"ev":"call","id":13,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":13,"result":[null,{"meta":[{"name":"b","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":15,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":15,"result":[null,true]},{"ev":"call","id":18,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":18,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":18,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":18,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":18,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":23,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":23,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":25,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":25,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":27,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":18,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":27,"result":[null,true]},{"ev":"call","id":30,"name":"close","args":[]},{"ev":"return","of":30,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/read/two-rows-two-columns.callback.win32.json b/test/contract/native/read/two-rows-two-columns.callback.win32.json new file mode 100644 index 00000000..211da2f5 --- /dev/null +++ b/test/contract/native/read/two-rows-two-columns.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"read/two-rows-two-columns.callback","transcript":["submitted","meta a,b","row","column 0 1","column 1 \"x\"","row","column 0 2","column 1 \"y\"","cb ok rows=2 more=false","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select 1 as a, 'x' as b union all select 2, 'y'","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"a","nullable":false,"type":"number","sqlType":"int","size":10},{"name":"b","nullable":false,"type":"text","sqlType":"varchar","size":1}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1,"x"],[2,"y"]]}]},{"ev":"call","id":9,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":9,"result":[null,{"meta":[{"name":"a","nullable":false,"type":"number","sqlType":"int","size":10},{"name":"b","nullable":false,"type":"text","sqlType":"varchar","size":1}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":11,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":11,"result":[null,true]},{"ev":"call","id":14,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":14,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":19,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":19,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":21,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":21,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":23,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":23,"result":[null,true]},{"ev":"call","id":26,"name":"close","args":[]},{"ev":"return","of":26,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/read/two-rows-two-columns.events.win32.json b/test/contract/native/read/two-rows-two-columns.events.win32.json new file mode 100644 index 00000000..2fe4629e --- /dev/null +++ b/test/contract/native/read/two-rows-two-columns.events.win32.json @@ -0,0 +1 @@ +{"scenario":"read/two-rows-two-columns.events","transcript":["submitted","meta a,b","row","column 0 1","column 1 \"x\"","row","column 0 2","column 1 \"y\"","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select 1 as a, 'x' as b union all select 2, 'y'","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"a","nullable":false,"type":"number","sqlType":"int","size":10},{"name":"b","nullable":false,"type":"text","sqlType":"varchar","size":1}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1,"x"],[2,"y"]]}]},{"ev":"call","id":9,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":9,"result":[null,{"meta":[{"name":"a","nullable":false,"type":"number","sqlType":"int","size":10},{"name":"b","nullable":false,"type":"text","sqlType":"varchar","size":1}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":11,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":11,"result":[null,true]},{"ev":"call","id":14,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":14,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":19,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":19,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":21,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":21,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":23,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":23,"result":[null,true]},{"ev":"call","id":26,"name":"close","args":[]},{"ev":"return","of":26,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/read/types.callback.win32.json b/test/contract/native/read/types.callback.win32.json new file mode 100644 index 00000000..5dce954b --- /dev/null +++ b/test/contract/native/read/types.callback.win32.json @@ -0,0 +1 @@ +{"scenario":"read/types.callback","transcript":["submitted","meta i,s,d,dt,nul,b,bt","row","column 0 1","column 1 \"x\"","column 2 1.5","column 3 2020-01-02T03:04:05.000Z","column 4 null","column 5 0x0102","column 6 true","cb ok rows=1 more=false","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select 1 as i, N'x' as s, cast(1.5 as decimal(5, 2)) as d, cast('2020-01-02T03:04:05' as datetime2(0)) as dt, cast(null as int) as nul, 0x0102 as b, cast(1 as bit) as bt","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"i","nullable":false,"type":"number","sqlType":"int","size":10},{"name":"s","nullable":false,"type":"text","sqlType":"nvarchar","size":1},{"name":"d","nullable":true,"type":"number","sqlType":"decimal","size":5},{"name":"dt","nullable":true,"type":"date","sqlType":"datetime2","size":19},{"name":"nul","nullable":true,"type":"number","sqlType":"int","size":10},{"name":"b","nullable":false,"type":"binary","sqlType":"varbinary","size":2},{"name":"bt","nullable":true,"type":"boolean","sqlType":"bit","size":1}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1,"x",1.5,{"$":"date","v":1577934245000,"ns":0},null,{"$":"buffer","v":"0102"},true]]}]},{"ev":"call","id":9,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":9,"result":[null,{"meta":[{"name":"i","nullable":false,"type":"number","sqlType":"int","size":10},{"name":"s","nullable":false,"type":"text","sqlType":"nvarchar","size":1},{"name":"d","nullable":true,"type":"number","sqlType":"decimal","size":5},{"name":"dt","nullable":true,"type":"date","sqlType":"datetime2","size":19},{"name":"nul","nullable":true,"type":"number","sqlType":"int","size":10},{"name":"b","nullable":false,"type":"binary","sqlType":"varbinary","size":2},{"name":"bt","nullable":true,"type":"boolean","sqlType":"bit","size":1}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":11,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":11,"result":[null,true]},{"ev":"call","id":14,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":14,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":19,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":19,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":21,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":21,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":23,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":23,"result":[null,true]},{"ev":"call","id":26,"name":"close","args":[]},{"ev":"return","of":26,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/native/read/types.events.win32.json b/test/contract/native/read/types.events.win32.json new file mode 100644 index 00000000..4d5232bb --- /dev/null +++ b/test/contract/native/read/types.events.win32.json @@ -0,0 +1 @@ +{"scenario":"read/types.events","transcript":["submitted","meta i,s,d,dt,nul,b,bt","row","column 0 1","column 1 \"x\"","column 2 1.5","column 3 2020-01-02T03:04:05.000Z","column 4 null","column 5 0x0102","column 6 true","done","free","check ok"],"log":[{"ev":"call","id":0,"name":"open","args":["",0]},{"ev":"return","of":0,"result":[null,{"success":true}]},{"ev":"call","id":2,"name":"query","args":[0,{"query_str":"select 1 as i, N'x' as s, cast(1.5 as decimal(5, 2)) as d, cast('2020-01-02T03:04:05' as datetime2(0)) as dt, cast(null as int) as nul, 0x0102 as b, cast(1 as bit) as bt","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":2,"result":[null,{"meta":[{"name":"i","nullable":false,"type":"number","sqlType":"int","size":10},{"name":"s","nullable":false,"type":"text","sqlType":"nvarchar","size":1},{"name":"d","nullable":true,"type":"number","sqlType":"decimal","size":5},{"name":"dt","nullable":true,"type":"date","sqlType":"datetime2","size":19},{"name":"nul","nullable":true,"type":"number","sqlType":"int","size":10},{"name":"b","nullable":false,"type":"binary","sqlType":"varbinary","size":2},{"name":"bt","nullable":true,"type":"boolean","sqlType":"bit","size":1}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":7,"name":"fetchRows","args":[0,{"connectionId":0,"statementId":0},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":7,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1,"x",1.5,{"$":"date","v":1577934245000,"ns":0},null,{"$":"buffer","v":"0102"},true]]}]},{"ev":"call","id":9,"name":"nextResultSet","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"return","of":9,"result":[null,{"meta":[{"name":"i","nullable":false,"type":"number","sqlType":"int","size":10},{"name":"s","nullable":false,"type":"text","sqlType":"nvarchar","size":1},{"name":"d","nullable":true,"type":"number","sqlType":"decimal","size":5},{"name":"dt","nullable":true,"type":"date","sqlType":"datetime2","size":19},{"name":"nul","nullable":true,"type":"number","sqlType":"int","size":10},{"name":"b","nullable":false,"type":"binary","sqlType":"varbinary","size":2},{"name":"bt","nullable":true,"type":"boolean","sqlType":"bit","size":1}],"handle":{"connectionId":0,"statementId":0},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":11,"name":"releaseStatement","args":[0,{"connectionId":0,"statementId":0}]},{"ev":"state","of":2,"change":{"handle":{"connectionId":0,"statementId":0},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":11,"result":[null,true]},{"ev":"call","id":14,"name":"query","args":[1,{"query_str":"select 1 as n","query_timeout":0,"query_polling":false,"query_tz_adjustment":0,"numeric_string":false,"bigint_as_native":false,"stateChangeCallback":{"$":"function"}},[]]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_CREATED","newState":"STATEMENT_BINDING"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_BINDING","newState":"STATEMENT_SUBMITTED"}},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_SUBMITTED","newState":"STATEMENT_READING"}},{"ev":"return","of":14,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":false,"rowCount":0},true]},{"ev":"call","id":19,"name":"fetchRows","args":[1,{"connectionId":0,"statementId":1},{"asArrays":true,"batchSize":50,"asObjects":false}]},{"ev":"return","of":19,"result":[null,{"endOfRows":true,"endOfResults":false,"rowCount":0,"data":[[1]]}]},{"ev":"call","id":21,"name":"nextResultSet","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"return","of":21,"result":[null,{"meta":[{"name":"n","nullable":false,"type":"number","sqlType":"int","size":10}],"handle":{"connectionId":0,"statementId":1},"endOfRows":true,"endOfResults":true,"rowCount":0}]},{"ev":"call","id":23,"name":"releaseStatement","args":[1,{"connectionId":0,"statementId":1}]},{"ev":"state","of":14,"change":{"handle":{"connectionId":0,"statementId":1},"oldState":"STATEMENT_READING","newState":"STATEMENT_CLOSED"}},{"ev":"return","of":23,"result":[null,true]},{"ev":"call","id":26,"name":"close","args":[]},{"ev":"return","of":26,"result":[null,true]}]} \ No newline at end of file diff --git a/test/contract/recorder.js b/test/contract/recorder.js index e05708a8..0e92b6a8 100644 --- a/test/contract/recorder.js +++ b/test/contract/recorder.js @@ -227,10 +227,13 @@ async function runScenario (sql, connectionString, scenario) { } // runs the scenario in a child process (see run-one.js) and returns its transcript -function runIsolated (root, connectionString, scenario) { +// nativeFile: also record the native calls of the run there (see native-tap.js) +function runIsolated (root, connectionString, scenario, nativeFile) { return new Promise(resolve => { + const env = { ...process.env, MSSQL_CONTRACT_CS: connectionString } + if (nativeFile) env.MSSQL_CONTRACT_NATIVE = nativeFile execFile(process.execPath, [path.join(__dirname, 'run-one.js'), root, scenario.name], { - env: { ...process.env, MSSQL_CONTRACT_CS: connectionString }, + env, timeout: PROCESS_TIMEOUT_MS, maxBuffer: 16 * 1024 * 1024, windowsHide: true diff --git a/test/contract/replay.js b/test/contract/replay.js new file mode 100644 index 00000000..a81548c5 --- /dev/null +++ b/test/contract/replay.js @@ -0,0 +1,57 @@ +'use strict' + +// runs corpus scenarios through the real JS layer over the fake native driver, replaying +// the native calls recorded for them (capture.js --native), and compares each transcript +// with the corpus. no server needed. +// +// node test/contract/replay.js [filter...] + +const fs = require('fs') +const path = require('path') +const { scenarios } = require('./scenarios') +const { runScenario } = require('./recorder') +const corpus = require('./corpus') +const { ReplayNative, fakeSql } = require('../common/fake-native') + +const NATIVE_DIR = path.join(__dirname, 'native') + +function nativeLog (name, platform = process.platform) { + const file = path.join(NATIVE_DIR, `${name}.${platform}.json`) + return fs.existsSync(file) ? JSON.parse(fs.readFileSync(file, 'utf8')) : null +} + +// { lines, violations, unconsumed } for one replayed run of the scenario +async function replayScenario (scenario, recorded) { + const native = new ReplayNative(recorded.log) + const lines = await runScenario(fakeSql(native), '', scenario) + return { lines, violations: native.violations, unconsumed: native.unconsumed() } +} + +function replayable () { + return scenarios.filter(s => nativeLog(s.name)) +} + +async function main () { + const filters = process.argv.slice(2) + const selected = replayable().filter(s => filters.length === 0 || filters.some(f => s.name.includes(f))) + let same = 0 + let different = 0 + for (const scenario of selected) { + const r = await replayScenario(scenario, nativeLog(scenario.name)) + const expected = corpus.read(scenario.name) + const ok = corpus.matches(expected, r.lines) && r.violations.length === 0 + ok ? same++ : different++ + console.log(`${ok ? 'same' : 'DIFF'} ${scenario.name}`) + if (!corpus.matches(expected, r.lines)) { + console.log(corpus.diff(expected.variants[0], r.lines).split('\n').map(l => ` ${l}`).join('\n')) + } + for (const v of r.violations) console.log(` ! ${v}`) + if (r.unconsumed.length) console.log(` (recorded calls never made: ${r.unconsumed.join(', ')})`) + } + console.log(`\n${same} same, ${different} different (${selected.length} with a native log for ${process.platform})`) + process.exit(0) +} + +if (require.main === module) main() + +module.exports = { replayScenario, replayable, nativeLog } diff --git a/test/contract/replay.test.js b/test/contract/replay.test.js new file mode 100644 index 00000000..126bcf1e --- /dev/null +++ b/test/contract/replay.test.js @@ -0,0 +1,34 @@ +'use strict' + +/* globals describe it */ + +// every corpus scenario with a recorded native log (test/contract/native) is replayed +// through the real JS layer over the fake driver (test/common/fake-native.js): its +// transcript must match the corpus, and the JS must respect the driver - no overlapping +// calls, nothing on a released statement, no call the recording does not have. no server +// is needed, and a race that the real driver shows once in ten runs fails every time. + +const assert = require('assert') +const path = require('path') +const corpus = require('./corpus') +const { replayScenario, replayable, nativeLog } = require('./replay') + +describe('event contract, replayed over the fake driver', function () { + this.timeout(20000) + + const scenarios = replayable() + it(`has native logs for ${process.platform}`, function () { + if (scenarios.length === 0) this.skip() + }) + + for (const scenario of scenarios) { + it(scenario.name, async () => { + const r = await replayScenario(scenario, nativeLog(scenario.name)) + const expected = corpus.read(scenario.name) + assert.deepStrictEqual(r.violations, [], `${scenario.name}: the JS did not respect the driver`) + if (!corpus.matches(expected, r.lines)) { + assert.fail(`${scenario.name} (${expected.status}) differs from ${path.basename(expected.file)}:\n${corpus.diff(expected.variants[0], r.lines)}`) + } + }) + } +}) diff --git a/test/contract/run-one.js b/test/contract/run-one.js index c05cf50a..0093d685 100644 --- a/test/contract/run-one.js +++ b/test/contract/run-one.js @@ -4,7 +4,11 @@ // recorder.js starts this as a child process for every run, so that a query that // hangs, floods events or leaves native work behind cannot affect the next run. // node run-one.js (connection string in MSSQL_CONTRACT_CS) +// with MSSQL_CONTRACT_NATIVE=, the native calls and results are also recorded there +// (see native-tap.js), for test/common/fake-native.js to replay. +const fs = require('fs') +const path = require('path') const { scenarios } = require('./scenarios') const { runScenario } = require('./recorder') @@ -15,8 +19,16 @@ if (!scenario) { process.exit(2) } +const nativeFile = process.env.MSSQL_CONTRACT_NATIVE +let tap = null +if (nativeFile) { + const { utilModule } = require(path.join(root, 'lib/util')) + tap = require('./native-tap').install(new utilModule.Native().cppDriver, { keepData: !!scenario.columns }) +} + runScenario(require(root), process.env.MSSQL_CONTRACT_CS, scenario) .then(lines => { + if (tap) fs.writeFileSync(nativeFile, JSON.stringify({ scenario: scenario.name, transcript: lines, log: tap.log })) process.stdout.write(JSON.stringify(lines), () => process.exit(0)) }) .catch(e => {