Skip to content

Commit 05c357e

Browse files
vkuttypCopilot
andcommitted
fix: add missing MSSQL seed objects (LargeData, CompatRPC_*, sp_GetMultipleResultSets, etc.)
Also fix REPLICATE(N'X', 5000) truncation — must cast to NVARCHAR(MAX) first. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 2d51cc7 commit 05c357e

1 file changed

Lines changed: 80 additions & 2 deletions

File tree

Tests/Resources/mssql_seed.sql

Lines changed: 80 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,20 @@ GO
66

77
-- ─── Drop existing objects ────────────────────────────────────────────────────
88

9-
IF OBJECT_ID('dbo.sp_GetEmployeesAsJSON', 'P') IS NOT NULL DROP PROCEDURE sp_GetEmployeesAsJSON;
9+
IF OBJECT_ID('dbo.sp_PrintMessage', 'P') IS NOT NULL DROP PROCEDURE sp_PrintMessage;
10+
IF OBJECT_ID('dbo.sp_GetEmployeeWithOutput', 'P') IS NOT NULL DROP PROCEDURE sp_GetEmployeeWithOutput;
11+
IF OBJECT_ID('dbo.sp_GetMultipleResultSets', 'P') IS NOT NULL DROP PROCEDURE sp_GetMultipleResultSets;
12+
IF OBJECT_ID('dbo.CompatRPC_StrProc', 'P') IS NOT NULL DROP PROCEDURE CompatRPC_StrProc;
13+
IF OBJECT_ID('dbo.CompatRPC_SelectProc', 'P') IS NOT NULL DROP PROCEDURE CompatRPC_SelectProc;
14+
IF OBJECT_ID('dbo.CompatRPC_NamedParams', 'P') IS NOT NULL DROP PROCEDURE CompatRPC_NamedParams;
15+
IF OBJECT_ID('dbo.CompatRPC_IntProc', 'P') IS NOT NULL DROP PROCEDURE CompatRPC_IntProc;
16+
IF OBJECT_ID('dbo.sp_GetEmployeesAsJSON', 'P') IS NOT NULL DROP PROCEDURE sp_GetEmployeesAsJSON;
1017
IF OBJECT_ID('dbo.sp_GetDepartmentSummary', 'P') IS NOT NULL DROP PROCEDURE sp_GetDepartmentSummary;
1118
IF OBJECT_ID('dbo.sp_InsertEmployee', 'P') IS NOT NULL DROP PROCEDURE sp_InsertEmployee;
1219
IF OBJECT_ID('dbo.sp_GetEmployeesByDepartment', 'P') IS NOT NULL DROP PROCEDURE sp_GetEmployeesByDepartment;
1320
IF OBJECT_ID('dbo.sp_GetEmployeeById', 'P') IS NOT NULL DROP PROCEDURE sp_GetEmployeeById;
1421
IF OBJECT_ID('dbo.BulkTestTable', 'U') IS NOT NULL DROP TABLE BulkTestTable;
22+
IF OBJECT_ID('dbo.LargeData', 'U') IS NOT NULL DROP TABLE LargeData;
1523
IF OBJECT_ID('dbo.TypesTable', 'U') IS NOT NULL DROP TABLE TypesTable;
1624
IF OBJECT_ID('dbo.Employees', 'U') IS NOT NULL DROP TABLE Employees;
1725
IF OBJECT_ID('dbo.Departments', 'U') IS NOT NULL DROP TABLE Departments;
@@ -181,7 +189,7 @@ INSERT INTO TypesTable (
181189
);
182190

183191
-- Update row 2 col_nvarchar_max to 5000 'X' chars (multi-packet PLP test)
184-
DECLARE @big NVARCHAR(MAX) = REPLICATE(N'X', 5000);
192+
DECLARE @big NVARCHAR(MAX) = REPLICATE(CAST(N'X' AS NVARCHAR(MAX)), 5000);
185193
UPDATE TypesTable SET col_nvarchar_max = @big WHERE id = 2;
186194
GO
187195

@@ -262,3 +270,73 @@ BEGIN
262270
FOR JSON PATH;
263271
END;
264272
GO
273+
274+
-- ─── LargeData ───────────────────────────────────────────────────────────────
275+
276+
CREATE TABLE LargeData (
277+
id INT IDENTITY(1,1) PRIMARY KEY,
278+
payload NVARCHAR(MAX) NOT NULL,
279+
label NVARCHAR(100) NOT NULL
280+
);
281+
GO
282+
283+
-- ─── Additional Stored Procedures ────────────────────────────────────────────
284+
285+
CREATE PROCEDURE sp_GetMultipleResultSets
286+
AS
287+
BEGIN
288+
SELECT id, name FROM Departments ORDER BY id;
289+
SELECT id, name, department_id FROM Employees ORDER BY id;
290+
END;
291+
GO
292+
293+
CREATE PROCEDURE sp_GetEmployeeWithOutput
294+
@EmployeeId UNIQUEIDENTIFIER,
295+
@FullName NVARCHAR(200) OUTPUT,
296+
@DepartmentName NVARCHAR(100) OUTPUT
297+
AS
298+
BEGIN
299+
SELECT @FullName = e.name,
300+
@DepartmentName = d.name
301+
FROM Employees e
302+
JOIN Departments d ON e.department_id = d.id
303+
WHERE e.id = @EmployeeId;
304+
RETURN 0;
305+
END;
306+
GO
307+
308+
CREATE PROCEDURE sp_PrintMessage @Msg NVARCHAR(500)
309+
AS
310+
BEGIN
311+
PRINT @Msg;
312+
END;
313+
GO
314+
315+
CREATE PROCEDURE CompatRPC_IntProc @InVal INT, @OutVal INT OUTPUT
316+
AS
317+
BEGIN
318+
SET @OutVal = @InVal * 2;
319+
RETURN 77;
320+
END;
321+
GO
322+
323+
CREATE PROCEDURE CompatRPC_NamedParams @Val INT, @Str NVARCHAR(50)
324+
AS
325+
BEGIN
326+
SELECT @Val + 1 AS Result, @Str AS Msg;
327+
END;
328+
GO
329+
330+
CREATE PROCEDURE CompatRPC_SelectProc @N INT
331+
AS
332+
BEGIN
333+
SELECT @N AS Val, @N * 2 AS [Double];
334+
END;
335+
GO
336+
337+
CREATE PROCEDURE CompatRPC_StrProc @InStr NVARCHAR(50), @OutStr NVARCHAR(50) OUTPUT
338+
AS
339+
BEGIN
340+
SET @OutStr = N'Hello ' + @InStr;
341+
END;
342+
GO

0 commit comments

Comments
 (0)