múltiples valores selectInput crean un comportamiento inesperado de dplyr (postgres)

Tengo una aplicación Shiny encantadora que acepta valores selectInput, consulta una base de datos postgres y genera un gráfico. (¡Es una interfaz simple, pero difícil de reproducir aquí debido a las conexiones de la base de datos dplyr!)

Hoy he cambiado el primer valor de selectInput a multiple = TRUE; actualizó la variable que se pasa a la base de datos para que sea% en% la lista devuelta por el control modificado; y todo se desató.

Antes de seleccionar un valor, el control es nulo, por lo que me aparece el rojo brillante "ERROR: controlador RS-DBI ..." que me dice que mi consulta "IN ()" no es válidaCuando solo se selecciona un valor, aparece un error de sintaxis, "" locationID "IN 'A1080330'"Puedo resolver esto poniendo paréntesis en la lista devuelta ... locationID% en% (input $ rtnLocid)sin embargo, esto crea un nuevo error "el operador no existe" cuando selecciono más de un elemento de la lista debido a los paréntesis agregados: "IN (('A1080330', 'B ...'))

Creo que lo que está sucediendo es que el controlador postgres siempre quiere valores de lista SQL entre paréntesis cuando se usa IN (algunos DB pueden ser más indulgentes aquí); agregar los paréntesis corrige la primera selección; los paréntesis agregados rompen el controlador postgres nuevamente cuando la selección múltiple está activada.

¿Alguien más que use Shiny / postgres puede verificar este comportamiento?

Saludos, Jeff

Actualización: @Steven señaló este enlace de información en los comentarios que no había encontrado cuando publiqué:https://github.com/hadley/dplyr/issues/511