Skip to content

ERROR: queryObj.pause is not a function #264

@leejsinclair

Description

@leejsinclair

The error displayed is:

queryObj.pause is not a function - "queryObj.pause is not a function"
TypeError: queryObj.pause is not a function
 at PoolEventCaster.pauseQuery (./node_modules/msnodesqlv8/lib/pool.js:55:20)
 at Timeout._onTimeout (./node_modules/msnodesqlv8/lib/util.js:88:15)
 at listOnTimeout (internal/timers.js:557:17)
 at processTimers (internal/timers.js:500:7)

Notes:

  • We exclusively use callProc via new sql.Pool(options).
  • Using driver /opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.10.so.1.1
  • Production is running Alpine Linux, Locally Ubuntu

I can replicate this locally using a stored procedure that takes longer than the SP timeout value.

Timeout test
Stored Procedure:

CREATE OR ALTER PROCEDURE timeoutTest
AS
BEGIN
	SET NOCOUNT ON;
	SET XACT_ABORT ON;

	WAITFOR DELAY '00:10'; -- 10 minutes
END;

Application Code:

db = new sql.Pool(options)
await db.promises.callProc('timeoutTest', {}, { timeoutMs: 1000 })

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions