craig[bot] and nvanbenschoten Merge #30098
30098: sql: avoid useless NumVal allocations for every parsed Placeholder r=nvanbenschoten a=nvanbenschoten

This change removes an unnecessary allocation in `Scanner.scanPlaceholder`.
The method was creating a `NumVal` for the Placeholder's name, which in
turn created a `constant.Value`. This `NumVal` was then stored in the
`sqlSymType` alongside the Placeholder's string representation, but only
the string representation was ever actually used.

When running `workload init tpcc --warehouses=1000` this results in **9%**
of total allocations, every single one of which was 100% useless.

![screen shot 2018-09-11 at 3 28 24 pm](https://user-images.githubusercontent.com/5438456/45386940-97464000-b5e2-11e8-8f2b-d48cc2a2da28.png)

I tracked this back to a series of small mistakes that date back to
the initial implementation of the SQL scanner (e99ffda). I then made
a harmless mistake significantly worse in 01de4ad.

Release note (performance improvement): Avoid unnecessary allocations
when parsing prepared statement placeholders.

Co-authored-by: Nathan VanBenschoten <nvanbenschoten@gmail.com>
Latest commit 7f8af55 Sep 12, 2018