Merge pull request #9 from cloudant-labs/add-get-error-string

Expose error string description function in the API
diff --git a/src/erlfdb.erl b/src/erlfdb.erl
index e6eccbd..50c5449 100644
--- a/src/erlfdb.erl
+++ b/src/erlfdb.erl
@@ -113,7 +113,8 @@
     % Misc
     on_error/2,
     error_predicate/2,
-    get_last_error/0
+    get_last_error/0,
+    get_error_string/1
 ]).
 
 
@@ -614,6 +615,10 @@
     erlang:get(?ERLFDB_ERROR).
 
 
+get_error_string(ErrorCode) when is_integer(ErrorCode) ->
+    erlfdb_nif:get_error(ErrorCode).
+
+
 clear_erlfdb_error() ->
     put(?ERLFDB_ERROR, undefined).
 
diff --git a/test/erlfdb_01_basic_test.erl b/test/erlfdb_01_basic_test.erl
index 44e6de8..1fd1cfe 100644
--- a/test/erlfdb_01_basic_test.erl
+++ b/test/erlfdb_01_basic_test.erl
@@ -16,4 +16,11 @@
 
 
 load_test() ->
-    erlfdb_nif:ohai().
\ No newline at end of file
+    erlfdb_nif:ohai().
+
+
+get_error_string_test() ->
+    ?assertEqual(<<"Success">>, erlfdb_nif:get_error(0)),
+    ?assertEqual(<<"Transaction exceeds byte limit">>,
+        erlfdb_nif:get_error(2101)),
+    ?assertEqual(<<"UNKNOWN_ERROR">>, erlfdb_nif:get_error(9999)).