db.sqlite.errors: simplify implementation

char-rename
Alexander Iljin 2016-02-20 21:07:42 +04:00 committed by John Benediktsson
parent 2da68f908b
commit ca19a01c1b
1 changed files with 3 additions and 10 deletions

View File

@ -7,20 +7,13 @@ IN: db.sqlite.errors
TUPLE: unparsed-sqlite-error error ;
C: <unparsed-sqlite-error> unparsed-sqlite-error
SINGLETONS: table-exists table-missing ;
: sqlite-table-error ( table message -- error )
{
{ table-exists [ <sql-table-exists> ] }
} case ;
EBNF: parse-sqlite-sql-error
TableMessage = " already exists" => [[ table-exists ]]
AlreadyExists = " already exists"
SqliteError =
"table " (!(TableMessage).)+:table TableMessage:message
=> [[ table >string message sqlite-table-error ]]
"table " (!(AlreadyExists).)+:table AlreadyExists
=> [[ table >string <sql-table-exists> ]]
| "no such table: " .+:table
=> [[ table >string <sql-table-missing> ]]
| .*:error