View Issue Details

IDProjectCategoryView StatusLast Update
0003660SymmetricDSBugpublic2018-08-04 00:50
ReporteranchitancAssigned To 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
Product Version3.9.9 
Target VersionFixed in Version 
Summary0003660: Initial Load with Order by in initial_load_select MSSQL
Descriptionsym_trigger_router table has initial_load_select = "1 = 1 order by t.CreationTime" which create query like below :-
select count(*) from "board"."dbo"."currencies" t where 1=1 order by t.CreationTime;

It works with MySQL but not with MSSQL because MSSQL does not support order by with count(*).

MSSQL gives :-
Column "board.dbo.currencies.creationtime" is invalid in the ORDER BY clause because it is not contained in either an aggregate function or the GROUP BY clause.

its due to https://www.symmetricds.org/issues/view.php?id=3092.
as symmetricds 3.9 has removed sym_trigger_router.initial_load_batch_count.

Now what is workaround to ignore count(*) query for MSSQL for initial load?
Steps To Reproduceset initial_load_select = "1 = 1 order by <anycolumn>" in sym_trigger_router for mssql database.
Tagsmssql

Activities

anchitanc

2018-08-04 00:50

reporter   ~0001222

sorry, its not due to https://www.symmetricds.org/issues/view.php?id=3092. I have tried the same in 3.8, same issue there as well.
Problem is symmetricds drafting wrong query for MSSQL. in case of MSSQL there should be option to disable count(*) query if order by clause is used in initial_load_select.

Issue History

Date Modified Username Field Change
2018-08-03 15:25 anchitanc New Issue
2018-08-03 15:25 anchitanc Tag Attached: mssql
2018-08-04 00:50 anchitanc Note Added: 0001222