title: Creating synchronous queries with node-mysql
body: <p>I'm trying to ensure that one mysql query leads to another and is not completed until all of its children queries are completed.  So for example, I start with one select and stream rows and execute subsequent queries from that row result.  This is doable with callbacks, but I end up running out of memory, so I'd like to slow down the process and run batches, but due to the async nature of the dispatch, I can't keep things in phase and end the connection after all the rows have been processed.</p>
  
  <p>Here's an example:</p>
  
  <pre><code>var query = conn.query('select id from table1 limit 10');
  
  query.on('result', function(row){
      console.log('query1', row);
      var query2 = conn.query('select id from books where id  = ? ', [row.id]);
      query2.on('result', function(row2){
          console.log('query2', row2);
          var query3 = conn.query('insert into test (id) values (?)', [row2.id]);
          query3.on('result', function(row3){
              console.log(row3);
          });
      });
  });
  
  query.on('end', function(){
      conn.end();
  });
  </code></pre>
  
  <p>The above fails, because there are still rows to process in query3 after the initial query is ended.<br>
  Any thoughts?  The actual code is even more complicated, because I have to process xml from the subsequent queries and fire off even more inserts as I loop through the batch.</p>
  
  <p>Thanks!</p>