Playwright Tests / test (push) Canceled after 0s
Make invoice/reminder live-draft edits concurrency-safe with an explicit DraftFlushResult, add the fds__setReminder stored procedure, and harden the date helper functions. Includes concurrency and SQL contract tests. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
30 lines
1.1 KiB
Transact-SQL
30 lines
1.1 KiB
Transact-SQL
-- =============================================
|
|
-- Author: <Author,,Name>
|
|
-- Create date: <Create Date, ,>
|
|
-- Description: <Description, ,>
|
|
-- INLINE = OFF: scalar UDF inlining (nested -> AddBusinessDays) killed the dashboard
|
|
-- widget queries with error 596 ("session is in the kill state", class 21).
|
|
-- =============================================
|
|
CREATE FUNCTION [dbo].[date_addcustom]
|
|
(
|
|
@date date
|
|
,@phrase varchar(10)
|
|
)
|
|
RETURNS date
|
|
WITH INLINE = OFF
|
|
AS
|
|
BEGIN
|
|
DECLARE @returndate date, @numpart integer = TRY_PARSE(left(@phrase, patindex('%[^0-9]%', @phrase + '.') - 1) as integer), @defpart varchar(10) = LOWER(RIGHT(@phrase, LEN(@phrase) - patindex('%[^0-9]%', @phrase + '.') + 1));
|
|
|
|
SET @returndate = CASE WHEN @numpart is null then null
|
|
WHEN @defpart = 'wd' THEN [dbo].[AddBusinessDays](@date, @numpart)
|
|
WHEN @defpart = 'd' THEN DATEADD(DAY, @numpart, @date)
|
|
WHEN @defpart = 'y' THEN DATEADD(YEAR, @numpart, @date)
|
|
WHEN @defpart = 'm' THEN DATEADD(Month, @numpart, @date)
|
|
WHEN @defpart = 'wk' THEN DATEADD(WEEK, @numpart, @date)
|
|
ELSE @date
|
|
END;
|
|
|
|
RETURN @returndate;
|
|
|
|
END |