title: Why does postgres' upper range function for a daterange return an exclusive bound?
body: <p>I've created a sql fiddle for this post: <a href="http://sqlfiddle.com/#!15/7b5d7/1/0" rel="nofollow">http://sqlfiddle.com/#!15/7b5d7/1/0</a></p>
  
  <p><strong>Question #1</strong></p>
  
  <p>Why does inserting a record with a <code>daterange</code> that has exclusive bounds actually store a range with an inclusive lower bound and an exclusive upper bound? Why doesn't pg store them both as inclusive bounds?</p>
  
  <p><strong>Question #2</strong></p>
  
  <p><code>SELECT upper('[2016-06-19, 2016-06-21)'::daterange)</code> returns <code>2016-06-21</code>. Note that <code>[</code> signifies an inclusive lower bound and <code>)</code> an exclusive upper bound.</p>
  
  <p>Shouldn't selecting the upper bound return <code>2016-06-20</code>? Don't dates have have discrete intervals?</p>