Всегда ставил скобочки в сложных запросах, так что след запрос поставил меня в тупик:
'DELETE FROM prog WHERE prog_start >= $1 AND prog_start < $2 OR prog_end > $1 AND prog_end <= $2',
если я правильно понимаю это эквивалентно:
'DELETE FROM prog WHERE ( prog_start >= $1 AND prog_start < $2 ) OR ( prog_end > $1 AND prog_end <= $2' )
?