<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://code.secondbit.org/pqarrays/</link>
    <language>en-us</language>

    <title>pqarrays Changelog</title>
    <description>pqarrays Changelog</description>
    <item>
    <title>[default] Fix whitespace lexing/parsing.</title>
    <guid isPermaLink="true">http://code.secondbit.org/pqarrays/rev/9a415db0346a</guid>
             <link>http://code.secondbit.org/pqarrays/rev/9a415db0346a</link>
    <description>
              <![CDATA[
	<table>
	<tr>
		<th style="text-align:left;">changeset</th>
		<td>9a415db0346a</td>
              </tr>
              <tr>
                              <th style="text-align:left;">branch</th>
                              <td>default</td>
              </tr>
              <tr>
                              <th style="text-align:left;">bookmark</th>
		<td></td>
	</tr>
	<tr>
		<th style="text-align:left;">tag</th>
		<td>tip</td>
	</tr>
	<tr>
		<th style="text-align:left;vertical-align:top;">user</th>
		<td>&#80;&#97;&#100;&#100;&#121;&#32;&#60;&#112;&#97;&#100;&#100;&#121;&#64;&#105;&#109;&#112;&#114;&#97;&#99;&#116;&#105;&#99;&#97;&#108;&#46;&#99;&#111;&#62;</td>
	</tr>
	<tr>
		<th style="text-align:left;vertical-align:top;">description</th>
		<td>Fix whitespace lexing/parsing.<br/>
<br/>
Our consumeWhitespace method had a bug where it wouldn't emit the whitespace<br/>
token, meaning we weren't actually skipping the whitespace. Oops.<br/>
<br/>
While in there, I removed an outdated TODO (we already supplied a default<br/>
state).<br/>
<br/>
I updated the lexing of unquoted strings to take into account the rules about<br/>
spaces and unquoted strings; basically, spaces before or after are ignored as<br/>
whitespace, spaces in the middle ocunt, and empty strings are not allowed.<br/>
<br/>
I removed an extra case when detecting what to do when lexing an unquoted<br/>
string; we already consumed all the whitespace, so the next character shouldn't<br/>
be whitespace, so no need to test for it.<br/>
<br/>
We need to consume whitespace before we start lexing the separator character.<br/>
<br/>
I updated the token debugging to be a bit more useful, by defining a String()<br/>
method on the token type itself, so it'll expose both the type and the value.<br/>
This makes unexpected errors easier to deal with, and is used in all the errors<br/>
raised by the parser now.<br/>
<br/>
I added a bunch of whitespace tests for lexing and parsing.</td>
	</tr>
	<tr>
		<th style="text-align:left;vertical-align:top;">files</th>
		<td>lexer.go<br />lexer_test.go<br />parser.go<br />parser_test.go<br /></td>
	</tr>
	</table>
	]]></description>
    <author>&#80;&#97;&#100;&#100;&#121;&#32;&#60;&#112;&#97;&#100;&#100;&#121;&#64;&#105;&#109;&#112;&#114;&#97;&#99;&#116;&#105;&#99;&#97;&#108;&#46;&#99;&#111;&#62;</author>
    <pubDate>Fri, 26 Feb 2016 01:23:50 -0800</pubDate>
</item>
<item>
    <title>Fix bug parsing empty arrays, make golint and go vet happy.</title>
    <guid isPermaLink="true">http://code.secondbit.org/pqarrays/rev/ce9c92fc81ab</guid>
             <link>http://code.secondbit.org/pqarrays/rev/ce9c92fc81ab</link>
    <description>
              <![CDATA[
	<table>
	<tr>
		<th style="text-align:left;">changeset</th>
		<td>ce9c92fc81ab</td>
              </tr>
              <tr>
                              <th style="text-align:left;">branch</th>
                              <td></td>
              </tr>
              <tr>
                              <th style="text-align:left;">bookmark</th>
		<td></td>
	</tr>
	<tr>
		<th style="text-align:left;">tag</th>
		<td></td>
	</tr>
	<tr>
		<th style="text-align:left;vertical-align:top;">user</th>
		<td>&#80;&#97;&#100;&#100;&#121;&#32;&#60;&#112;&#97;&#100;&#100;&#121;&#64;&#105;&#109;&#112;&#114;&#97;&#99;&#116;&#105;&#99;&#97;&#108;&#46;&#99;&#111;&#62;</td>
	</tr>
	<tr>
		<th style="text-align:left;vertical-align:top;">description</th>
		<td>Fix bug parsing empty arrays, make golint and go vet happy.<br/>
<br/>
Add comments to make golint happy. Also, because comments are a good thing to<br/>
have.<br/>
<br/>
Turn += 1 and -= 1 into ++ and --, respectively, so golint will be happy.<br/>
<br/>
Fix an improperly formated errorf, where a rune was being treated as a string.<br/>
Thanks, go vet!<br/>
<br/>
Fix whitespace parsing, returning the parse functions again instead of just<br/>
skipping the one character. Now if we have more than one whitespace character in<br/>
a row, they'll all be skipped.<br/>
<br/>
Add a parseStringOrNullOrEnd parse function that will be called after the<br/>
tokenArrayStart character, to fix a bug where empty arrays were expecting a<br/>
string or null and getting the array end character. This is only valid after<br/>
tokenArrayStart, however; in other places where parseSeparatorOrDelim is used,<br/>
it wouldn't be appropriate.<br/>
<br/>
Add a parser test for an empty array.</td>
	</tr>
	<tr>
		<th style="text-align:left;vertical-align:top;">files</th>
		<td>array.go<br />lexer.go<br />parser.go<br />parser_test.go<br /></td>
	</tr>
	</table>
	]]></description>
    <author>&#80;&#97;&#100;&#100;&#121;&#32;&#60;&#112;&#97;&#100;&#100;&#121;&#64;&#105;&#109;&#112;&#114;&#97;&#99;&#116;&#105;&#99;&#97;&#108;&#46;&#99;&#111;&#62;</author>
    <pubDate>Thu, 25 Feb 2016 23:52:05 -0800</pubDate>
</item>
<item>
    <title>First pass implementation.</title>
    <guid isPermaLink="true">http://code.secondbit.org/pqarrays/rev/bfe2a4af6bdf</guid>
             <link>http://code.secondbit.org/pqarrays/rev/bfe2a4af6bdf</link>
    <description>
              <![CDATA[
	<table>
	<tr>
		<th style="text-align:left;">changeset</th>
		<td>bfe2a4af6bdf</td>
              </tr>
              <tr>
                              <th style="text-align:left;">branch</th>
                              <td></td>
              </tr>
              <tr>
                              <th style="text-align:left;">bookmark</th>
		<td></td>
	</tr>
	<tr>
		<th style="text-align:left;">tag</th>
		<td></td>
	</tr>
	<tr>
		<th style="text-align:left;vertical-align:top;">user</th>
		<td>&#80;&#97;&#100;&#100;&#121;&#32;&#60;&#112;&#97;&#100;&#100;&#121;&#64;&#115;&#101;&#99;&#111;&#110;&#100;&#98;&#105;&#116;&#46;&#111;&#114;&#103;&#62;</td>
	</tr>
	<tr>
		<th style="text-align:left;vertical-align:top;">description</th>
		<td>First pass implementation.<br/>
<br/>
Use a lexer to generate tokens out of the Array type responses that PostgreSQL<br/>
will send.<br/>
<br/>
Write a parser for string[] array types.<br/>
<br/>
Create a StringArray type that fulfills the driver.Valuer and sql.Scanner<br/>
interfaces using the parser and lexer.</td>
	</tr>
	<tr>
		<th style="text-align:left;vertical-align:top;">files</th>
		<td>.hgignore<br />array.go<br />lexer.go<br />lexer_test.go<br />parser.go<br />parser_test.go<br /></td>
	</tr>
	</table>
	]]></description>
    <author>&#80;&#97;&#100;&#100;&#121;&#32;&#60;&#112;&#97;&#100;&#100;&#121;&#64;&#115;&#101;&#99;&#111;&#110;&#100;&#98;&#105;&#116;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Sun, 19 Apr 2015 23:47:36 -0400</pubDate>
</item>

  </channel>
</rss>