<div dir="ltr">> <span style="color:rgb(0,0,0);font-family:monospace,monospace;font-size:1em;white-space:pre-wrap"> PostgreSQL data base, Haskell back end, </span><span style="color:rgb(0,0,0);font-family:monospace,monospace;font-size:1em;white-space:pre-wrap">PureScript front end. And there is a fault somewhere in this stack: sometimes </span><span style="color:rgb(0,0,0);font-family:monospace,monospace;font-size:1em;white-space:pre-wrap">some items present in the </span>data base<span style="color:rgb(0,0,0);font-family:monospace,monospace;font-size:1em;white-space:pre-wrap"> do not make it to the front end. A small </span><span style="color:rgb(0,0,0);font-family:monospace,monospace;font-size:1em;white-space:pre-wrap">fortune in programmer hours has been spent ...</span><div><span style="color:rgb(0,0,0);font-family:monospace,monospace;font-size:1em;white-space:pre-wrap"><br></span></div><div><span style="color:rgb(0,0,0);font-family:monospace,monospace;font-size:1em;white-space:pre-wrap">Speaking purely from a SQL-and-stuff point of view, "programmer hours spent" sounds to me like a problem with nulls.</span></div><div><span style="color:rgb(0,0,0);font-family:monospace,monospace;font-size:1em;white-space:pre-wrap"><br></span></div><div><span style="color:rgb(0,0,0);font-family:monospace,monospace;font-size:1em;white-space:pre-wrap">Are any of your columns nullable? Are you sure they should be nullable? In particular are any of the columns in the keys nullable? Or any of the columns on which you're joining tables? (Perhaps a proper value in one table, but a null in the table it's supposed to equal?)</span></div><div><span style="color:rgb(0,0,0);font-family:monospace,monospace;font-size:1em;white-space:pre-wrap"><br></span></div><div><span style="color:rgb(0,0,0);font-family:monospace,monospace;font-size:1em;white-space:pre-wrap">How are you mapping between Haskell field values to/from nullable columns in the SQL? Is that mapping fool-proof? Is it consistent across different tables using what should be the same value?</span></div><div><span style="color:rgb(0,0,0);font-family:monospace,monospace;font-size:1em;white-space:pre-wrap"><br></span></div><div><span style="color:rgb(0,0,0);font-family:monospace,monospace;font-size:1em;white-space:pre-wrap">And in general: SQL nulls are an abomination; don't do that; do normalise your database schema to avoid nulls.</span></div><div><span style="color:rgb(0,0,0);font-family:monospace,monospace;font-size:1em;white-space:pre-wrap"><br></span></div><div><span style="color:rgb(0,0,0);font-family:monospace,monospace;font-size:1em;white-space:pre-wrap">AntC (35 years an SQL programmer,  never trusted it)</span></div></div>