anchor.diff:                  | CommandText str -> str
                   | Parameter i ->
                       match command.Parameters.[i] with
  -                    | ListParameter(_, os) ->
  -                        let parNames =
  -                            seq {
  -                                for j = 0 to os.Length - 1 do yield parameterNameArray (parameterOffset + i) j
  -                            }
  -                        "(" + String.concat "," parNames + ")"
  +                    | ListParameter(dbTy, os) ->
  +                        if os.Length = 0 then
  +                            runtimeBackend.EmptyInList(dbTy)
  +                        else
  +                            let parNames =
  +                                seq {
  +                                    for j = 0 to os.Length - 1 do yield parameterNameArray (parameterOffset + i) j
  +                                }
  +                            "(" + String.concat "," parNames + ")"
                       | ScalarParameter _ -> parameterName (parameterOffset + i)
                       | RawSQLParameter frags ->
                           for frag in frags do
  
positive.code: open FSharp.Control.Tasks.ContextInsensitive
  open Rezoom.SQL
  
  type private CommandBatchBuilder(conn : DbConnection, tran : DbTransaction) =
      let maxParameters =
          match conn.GetType().Namespace with
          | "System.Data.SqlClient" -> 2100 // SQL server
          | "System.Data.OracleClient"
          | "Oracle.DataAccess.Client" -> 2000 // Oracle
          | "Npgsql" -> 10000 // Postgres -- can support more but it's probably a bad idea
          | "MySql.Data.MySqlClient" -> 10000 // MySQL -- can support more but it's probably a bad idea
          | _ -> 999 // SQLite default, and probably the lowest of any DB
      static let terminatorColumn i = "RZSQL_TERMINATOR_" + string i
      static let terminator i = ";--'*/;SELECT NULL AS " + terminatorColumn i
      static let parameterName i = "@RZSQL_" + string i
  
negative.code: ﻿namespace Rezoom.SQL.Mapping
  open System
  open System.Data
  open System.Data.Common
  open System.Collections.Generic
  open System.Text
  