DataTables / Editor-NET

.NET Framework and .NET Core server-side libraries for Editor
Other
15 stars 12 forks source link

"Incorrect syntax near 'OFFSET'. Invalid usage of the option NEXT in the FETCH statement" #16

Open VictorioBerra opened 4 months ago

VictorioBerra commented 4 months ago

I get this error when I click a column sort 3 times. It sorts ASC on first click, the DESC, then error.

The generated SQL is:

SELECT
    [InventoryServer].[Id] as 'InventoryServer.Id',
    [InventoryServer].[Name] as 'InventoryServer.Name',
    [InventoryServer].[DockDate] as 'InventoryServer.DockDate',
    [InventoryServer].[BillingStartDate] as 'InventoryServer.BillingStartDate',
    [PatchPartyDowntime].[Name] as 'PatchPartyDowntime.Name',
    [VirtualEnvironment].[Description] as 'VirtualEnvironment.Description'
    -- Many more redacted
FROM
    [InventoryServer]
    LEFT JOIN [ContactGroup] ON [ContactGroup].[Id] = [InventoryServer].[ContactGroupId]
    LEFT JOIN [DisasterRecoveryTeir] ON [DisasterRecoveryTeir].[Id] = [InventoryServer].[DisasterRecoveryTeirId]
    LEFT JOIN [Domain] ON [Domain].[Id] = [InventoryServer].[DomainId]
    -- Many more redacted
WHERE
    (1 = 1) OFFSET 0 ROWS FETCH NEXT 10 ROWS ONLY

It appears the order by is ripped away as a part of removing the sort on my third click.

Let me know if you need more code.

AllanJard commented 4 months ago

No that's fine thank you. I think I know what is causing that. I'll get back to you when I've got a fix.