@@ -634,7 +634,7 @@ Task Prepare(bool async, CancellationToken cancellationToken = default)
634634 {
635635 foreach ( var batchCommand in InternalBatchCommands )
636636 {
637- batchCommand . Parameters . ProcessParameters ( connector . TypeMapper , validate : false ) ;
637+ batchCommand . Parameters . ProcessParameters ( connector . TypeMapper , validateValues : false ) ;
638638 ProcessRawQuery ( connector . SqlQueryParser , connector . UseConformingStrings , batchCommand ) ;
639639
640640 needToPrepare = batchCommand . ExplicitPrepare ( connector ) || needToPrepare ;
@@ -645,7 +645,7 @@ Task Prepare(bool async, CancellationToken cancellationToken = default)
645645 }
646646 else
647647 {
648- Parameters . ProcessParameters ( connector . TypeMapper , validate : false ) ;
648+ Parameters . ProcessParameters ( connector . TypeMapper , validateValues : false ) ;
649649 ProcessRawQuery ( connector . SqlQueryParser , connector . UseConformingStrings , batchCommand : null ) ;
650650
651651 foreach ( var batchCommand in InternalBatchCommands )
@@ -1307,6 +1307,8 @@ internal virtual async ValueTask<NpgsqlDataReader> ExecuteReader(CommandBehavior
13071307
13081308 Task ? sendTask ;
13091309
1310+ var validateParameterValues = ! behavior . HasFlag ( CommandBehavior . SchemaOnly ) ;
1311+
13101312 try
13111313 {
13121314 switch ( IsExplicitlyPrepared )
@@ -1324,9 +1326,9 @@ internal virtual async ValueTask<NpgsqlDataReader> ExecuteReader(CommandBehavior
13241326
13251327 if ( IsWrappedByBatch )
13261328 foreach ( var batchCommand in InternalBatchCommands )
1327- batchCommand . Parameters . ProcessParameters ( connector . TypeMapper , validate : true ) ;
1329+ batchCommand . Parameters . ProcessParameters ( connector . TypeMapper , validateParameterValues ) ;
13281330 else
1329- Parameters . ProcessParameters ( connector . TypeMapper , validate : true ) ;
1331+ Parameters . ProcessParameters ( connector . TypeMapper , validateParameterValues ) ;
13301332
13311333 NpgsqlEventSource . Log . CommandStartPrepared ( ) ;
13321334 break ;
@@ -1340,7 +1342,7 @@ internal virtual async ValueTask<NpgsqlDataReader> ExecuteReader(CommandBehavior
13401342 {
13411343 var batchCommand = InternalBatchCommands [ i ] ;
13421344
1343- batchCommand . Parameters . ProcessParameters ( connector . TypeMapper , validate : true ) ;
1345+ batchCommand . Parameters . ProcessParameters ( connector . TypeMapper , validateParameterValues ) ;
13441346 ProcessRawQuery ( connector . SqlQueryParser , connector . UseConformingStrings , batchCommand ) ;
13451347
13461348 if ( connector . Settings . MaxAutoPrepare > 0 && batchCommand . TryAutoPrepare ( connector ) )
@@ -1349,7 +1351,7 @@ internal virtual async ValueTask<NpgsqlDataReader> ExecuteReader(CommandBehavior
13491351 }
13501352 else
13511353 {
1352- Parameters . ProcessParameters ( connector . TypeMapper , validate : true ) ;
1354+ Parameters . ProcessParameters ( connector . TypeMapper , validateParameterValues ) ;
13531355 ProcessRawQuery ( connector . SqlQueryParser , connector . UseConformingStrings , batchCommand : null ) ;
13541356
13551357 if ( connector . Settings . MaxAutoPrepare > 0 )
@@ -1441,13 +1443,13 @@ internal virtual async ValueTask<NpgsqlDataReader> ExecuteReader(CommandBehavior
14411443 {
14421444 foreach ( var batchCommand in InternalBatchCommands )
14431445 {
1444- batchCommand . Parameters . ProcessParameters ( pool . MultiplexingTypeMapper ! , validate : true ) ;
1446+ batchCommand . Parameters . ProcessParameters ( pool . MultiplexingTypeMapper ! , validateValues : true ) ;
14451447 ProcessRawQuery( null , standardConformingStrings : true , batchCommand ) ;
14461448 }
14471449 }
14481450 else
14491451 {
1450- Parameters. ProcessParameters ( pool . MultiplexingTypeMapper ! , validate : true ) ;
1452+ Parameters. ProcessParameters ( pool . MultiplexingTypeMapper ! , validateValues : true ) ;
14511453 ProcessRawQuery( null , standardConformingStrings : true , batchCommand : null ) ;
14521454 }
14531455
0 commit comments