title: sqlite eval INNER JOIN on self duplicates v(*) entries
body: <p>I have an SQLite database <code>db</code> and a view <code>pending_nodes</code>. To find <code>pending_subnet</code> - pending nodes whose upstream is also a pending node - I've prepared this statement:</p>
  
  <pre><code>  db eval {
      SELECT * FROM pending_nodes AS left
        INNER JOIN pending_nodes AS right ON left.process=right.upstream} v {
      parray v
      # do stuff...
    }
  </code></pre>
  
  <p>To my surprise <code>parray</code> gives me this result:</p>
  
  <pre><code>v(*)        = node process type upstream node process type upstream
  v(node)     = 2
  v(process)  = 6
  v(type)     = reference
  v(upstream) = 5
  </code></pre>
  
  <p>The printed data is as expected, but the <code>v(*)</code> list is duplicated. Looks weird and suspect I've done something wrong.</p>
  
  <p>Q: What did I do wrong?</p>