Skip to content

Commit

Permalink
insert-test add case
Browse files Browse the repository at this point in the history
  • Loading branch information
hochang committed Apr 26, 2012
1 parent 91d39e3 commit d5c4493
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 4 deletions.
10 changes: 8 additions & 2 deletions modules/compiler/lib/peg/ql.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 8 additions & 2 deletions modules/compiler/pegs/ql.peg
Original file line number Diff line number Diff line change
Expand Up @@ -699,13 +699,19 @@ InsertStatement = 'insert' insig 'into' insig s:Source insig c:ColumnsParen? ins
if (!c && v.value.length > 1){
throw new this.SyntaxError("Line " + line + ": Values do not have paired columns.");
}
return {
ret = {
type: 'insert',
source: s,
columns: c,
values: v.value,
line: line
}
if (c){
ret.columns = c,
ret.values = v.value;
}else{
ret.values = v.value[0];
}
return ret
}

// Delete statement
Expand Down
18 changes: 18 additions & 0 deletions modules/compiler/test/insert-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -109,3 +109,21 @@ exports['insert-no-table'] = function(test) {
test.done();
}
};

exports['insert-opaque'] = function(test) {
var q = "insert into suppliers values ('24553')"
var statement = compiler.compile(q);
var e = [
{
"type": "insert",
"source": {
"name": "suppliers"
},
"values": "24553",
"line": 1,
"id": 0
}
];
test.deepEqual(statement, e);
test.done();
};

0 comments on commit d5c4493

Please sign in to comment.