-- name: SelectChannelByName :one SELECT * FROM data_channel WHERE name = $1 LIMIT 1; -- name: InsertChannel :exec INSERT INTO data_channel (name, logged, hub, event_name, location_name) VALUES ( @name::text, @logged::boolean, @hub::boolean, @event_name::text, @location_name::text ); -- name: SelectChannels :many SELECT * FROM data_channel WHERE (@filter_name::bool = false OR name = ANY(@names::text[])) AND (@filter_logged::bool = false OR logged = @logged) AND (@filter_event_name::bool = false OR event_name = @event_name) AND (@filter_location_name::bool = false OR location_name = @location_name) ORDER BY name LIMIT NULLIF(@limit_size::INT, 0); -- name: UpdateChannel :exec UPDATE data_channel SET logged = @logged::boolean, hub = @hub::boolean, event_name = @event_name::text, location_name = @location_name::text WHERE name = @name::text; -- name: DeleteChannel :exec DELETE FROM data_channel WHERE name=$1;