From e2665e9ed6749032f4ade20deba49fde3d7c588f Mon Sep 17 00:00:00 2001 From: cangelosilima Date: Sat, 26 Sep 2026 10:05:39 -0300 Subject: [PATCH] Validate Oracle dynamic column references in parser benchmarks --- cli/benchmarks/SyncSql.Benchmarks/ParserBenchmarks.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cli/benchmarks/SyncSql.Benchmarks/ParserBenchmarks.cs b/cli/benchmarks/SyncSql.Benchmarks/ParserBenchmarks.cs index 395801a..58ca045 100644 --- a/cli/benchmarks/SyncSql.Benchmarks/ParserBenchmarks.cs +++ b/cli/benchmarks/SyncSql.Benchmarks/ParserBenchmarks.cs @@ -31,10 +31,10 @@ public int AnalyzeBatch() { LineageAnalysisResult analysis = _analyzer.Analyze(_scripts[i]); bool dynamic = i % 4 == 3; - // Dynamic scanners recover object references; static statements also bind columns. + // SQL Server's dynamic scanner recovers object references only. Oracle also binds columns. if (!analysis.ObjectRefs.Any(reference => reference.Name == "V000") || (dynamic && !analysis.ObjectRefs.Any(reference => reference.Origin == ReferenceOrigin.Dynamic)) - || (!dynamic && !analysis.ColumnRefs.Any(reference => reference.Column == "Id"))) + || ((!dynamic || Engine == DatabaseEngine.Oracle) && !analysis.ColumnRefs.Any(reference => reference.Column == "Id"))) { throw new InvalidOperationException("Benchmark parser lost expected table or column references."); }