From a69862fe736bf98662c8b34d2db6f3c52c0f69a3 Mon Sep 17 00:00:00 2001 From: alireza Date: Sat, 10 Oct 2026 01:15:08 +0330 Subject: [PATCH] =?UTF-8?q?fix(datacopy):=20COUNT(*)=20is=20Int32=20on=20S?= =?UTF-8?q?QL=20Server=20=E2=80=94=20use=20Convert.ToInt64?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/GreenHome.DataCopy/Program.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/GreenHome.DataCopy/Program.cs b/src/GreenHome.DataCopy/Program.cs index ce1cde4..069ca84 100644 --- a/src/GreenHome.DataCopy/Program.cs +++ b/src/GreenHome.DataCopy/Program.cs @@ -117,8 +117,9 @@ internal static class Program foreach (var (_, table) in order) { - long src = (long)(await ScalarAsync(srcConn, $"SELECT COUNT(*) FROM {table}"))!; - long dst = (long)(await ScalarAsync(pgConn, $"SELECT COUNT(*) FROM \"{table}\""))!; + // SQL Server COUNT(*) is Int32, Postgres is Int64 — Convert handles both + long src = Convert.ToInt64(await ScalarAsync(srcConn, $"SELECT COUNT(*) FROM {table}"))!; + long dst = Convert.ToInt64(await ScalarAsync(pgConn, $"SELECT COUNT(*) FROM \"{table}\""))!; if (src != dst) problems++; Console.WriteLine($"{(src == dst ? "OK " : "FAIL ")} {table,-28} source={src,-10} target={dst}"); }