diff --git a/app/server/appsmith-plugins/mssqlPlugin/src/main/resources/templates/SELECT.sql b/app/server/appsmith-plugins/mssqlPlugin/src/main/resources/templates/SELECT.sql index 39a9cd35a5..cb9af47286 100644 --- a/app/server/appsmith-plugins/mssqlPlugin/src/main/resources/templates/SELECT.sql +++ b/app/server/appsmith-plugins/mssqlPlugin/src/main/resources/templates/SELECT.sql @@ -1 +1 @@ -SELECT * FROM users where role = {{ roleDropdown.selectedOptionValue }} ORDER BY id LIMIT 10; \ No newline at end of file +SELECT TOP 10 * FROM users where role = {{ roleDropdown.selectedOptionValue }} ORDER BY id; \ No newline at end of file diff --git a/app/server/appsmith-plugins/mssqlPlugin/src/test/java/com/external/plugins/MssqlPluginTest.java b/app/server/appsmith-plugins/mssqlPlugin/src/test/java/com/external/plugins/MssqlPluginTest.java index c320487724..48340147f7 100755 --- a/app/server/appsmith-plugins/mssqlPlugin/src/test/java/com/external/plugins/MssqlPluginTest.java +++ b/app/server/appsmith-plugins/mssqlPlugin/src/test/java/com/external/plugins/MssqlPluginTest.java @@ -590,4 +590,32 @@ public class MssqlPluginTest { }) .verifyComplete(); } + + @Test + public void testLimitQuery() { + DatasourceConfiguration dsConfig = createDatasourceConfiguration(); + + ActionConfiguration actionConfiguration = new ActionConfiguration(); + // First test with the binding not surrounded with quotes + actionConfiguration.setBody("SELECT TOP 10 * FROM users ORDER BY id;"); + + List pluginSpecifiedTemplates = new ArrayList<>(); + pluginSpecifiedTemplates.add(new Property("preparedStatement", "true")); + actionConfiguration.setPluginSpecifiedTemplates(pluginSpecifiedTemplates); + + ExecuteActionDTO executeActionDTO = new ExecuteActionDTO(); + List params = new ArrayList<>(); + executeActionDTO.setParams(params); + + Mono connectionCreateMono = pluginExecutor.datasourceCreate(dsConfig).cache(); + + Mono resultMono = connectionCreateMono + .flatMap(pool -> pluginExecutor.executeParameterized(pool, executeActionDTO, dsConfig, actionConfiguration)); + + StepVerifier.create(resultMono) + .assertNext(result -> { + assertTrue(result.getIsExecutionSuccess()); + }) + .verifyComplete(); + } }