You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The existing NamedValueGatherer will skip parameters it has already seen. However, Oracle expects a value to be supplied for every parameter, even if that parameter occurs twice. As an example:
SELECT * FROM foo WHERE foo.a = :t0 AND foo.b = :t1 AND foo.c = :t0
One would expect that supplying exactly two parameters for :t0 and :t1 would be sufficient, but for Oracle, this is incorrect. Three parameters must be supplied, for :t0, :t1, and then :t0 again.
I introduced an if/else statement in SubSonic.Linq.Structure.ExecutionBuilder that checked whether the language being used was the OracleLanguage, and if so, used a special OracleNamedValueGatherer that paired every parameter name with its corresponding value regardless of whether it had already been seen. However, this may not be the most SubSonic-y way of doing things.
The text was updated successfully, but these errors were encountered:
The existing NamedValueGatherer will skip parameters it has already seen. However, Oracle expects a value to be supplied for every parameter, even if that parameter occurs twice. As an example:
SELECT * FROM foo WHERE foo.a = :t0 AND foo.b = :t1 AND foo.c = :t0
One would expect that supplying exactly two parameters for :t0 and :t1 would be sufficient, but for Oracle, this is incorrect. Three parameters must be supplied, for :t0, :t1, and then :t0 again.
I introduced an if/else statement in SubSonic.Linq.Structure.ExecutionBuilder that checked whether the language being used was the OracleLanguage, and if so, used a special OracleNamedValueGatherer that paired every parameter name with its corresponding value regardless of whether it had already been seen. However, this may not be the most SubSonic-y way of doing things.
The text was updated successfully, but these errors were encountered: