Go to file
Alex Miller 0c7fd0a23d Unify and clarify interactive and --exec command error and parse error handling.
Previously, interactive execution and --exec used two models for how a failed
command would impact other commands in the execution.

As an example, consider:

    fdb> set foo bar ; set bar f\00 ; set baz foo

In interactive mode, this had the effect of {foo=bar, baz=foo}.
In --exec mode, this had the effect of {foo=bar}.

With this change, both now have the effect of {foo=bar}.  This is achieved by
prefixing the last parsed command, which is the one that had the error, with a
fake "parse_error" token.

The execution of this would now look like:

    ERROR: malformed escape sequence
    >>> set foo bar
    ERROR: Command failed to completely parse.
    ERROR: Not running partial or malformed command: set bar

Which indicates how much execution occurred and where it halted, identically in
both modes of execution.
2017-08-21 13:42:01 -07:00
bindings Merge branch 'release-5.0' 2017-08-09 15:30:43 -07:00
build Initial repository commit 2017-05-25 13:48:44 -07:00
fdbbackup fix: call initSignalSafeUnwind in fdbcli and backup to avoid hangs in slow task profiling. 2017-08-07 15:55:08 -07:00
fdbcli Unify and clarify interactive and --exec command error and parse error handling. 2017-08-21 13:42:01 -07:00
fdbclient Merge branch 'release-5.0' 2017-08-09 15:30:43 -07:00
fdbmonitor replace wd40 references from fdbmonitor with command to unset environment variables 2017-07-19 15:38:29 -07:00
fdbrpc Merge commit '89ac94853c70d08289e7fb58055bc5d0cd4e494d' 2017-07-26 15:35:36 -07:00
fdbserver Merge branch 'release-5.0' 2017-08-14 16:56:58 -07:00
fdbservice Initial repository commit 2017-05-25 13:48:44 -07:00
flow Merge branch 'release-5.0' 2017-08-09 10:37:43 -07:00
layers Initial repository commit 2017-05-25 13:48:44 -07:00
packaging Merge pull request #140 from cie/remove-wd40-refs 2017-08-14 10:22:52 -07:00
recipes updated paths and formatting with go docs and examples 2017-07-05 17:25:32 -07:00
tests java tester support on release-5.0 2017-07-17 16:42:50 -07:00
.gitignore Initial repository commit 2017-05-25 13:48:44 -07:00
ACKNOWLEDGEMENTS Initial repository commit 2017-05-25 13:48:44 -07:00
LICENSE Initial repository commit 2017-05-25 13:48:44 -07:00
Makefile Added min version compilation option for OS X 2017-08-07 11:56:12 -07:00
README.md Initial repository commit 2017-05-25 13:48:44 -07:00
foundationdb.sln Initial repository commit 2017-05-25 13:48:44 -07:00
versions.target Update versions.target for next release. 2017-08-09 23:34:14 -07:00

README.md

FoundationDB

FoundationDB is a distributed database designed to handle large volumes of structured data across clusters of commodity servers. It organizes data as an ordered key-value store and employs ACID transactions for all operations. It is especially well-suited for read/write workloads but also has excellent performance for write-intensive workloads. Users interact with the database using API language binding.