Closed kuenishi closed 7 years ago
The datatypes wiki page has an example like {datatype, [integer, {atom, infinite}]} that works. However, https://github.com/basho/riak_cs/commit/69ef213c67b7f52a07d7f1f8074f1744a6ebb8af does not work as expected, which means failure in generate. The message was:
{datatype, [integer, {atom, infinite}]}
==> rel (generate) Schema: ["/home/kuenishi/cs-2.0/riak_cs/rel/riak-cs/lib/10-riak_cs.schema", "/home/kuenishi/cs-2.0/riak_cs/rel/riak-cs/lib/11-erlang_vm.schema"] ERROR: generate failed while processing /home/kuenishi/cs-2.0/riak_cs/rel: {'EXIT', {badarg, [{io_lib,format, ["Default: ~s",[{error,{type,{100,atom}}}]], [{file,"io_lib.erl"},{line,155}]}, {cuttlefish_conf,generate_comments,1, [{file,"src/cuttlefish_conf.erl"},{line,149}]}, {cuttlefish_conf,generate_element,1, [{file,"src/cuttlefish_conf.erl"},{line,132}]}, {cuttlefish_conf,'-generate/1-fun-0-',2, [{file,"src/cuttlefish_conf.erl"},{line,88}]}, {lists,foldl,3,[{file,"lists.erl"},{line,1248}]}, {cuttlefish_conf,generate_file,2, [{file,"src/cuttlefish_conf.erl"},{line,93}]}, {cuttlefish_rebar_plugin,make_default_file,3, [{file,"src/cuttlefish_rebar_plugin.erl"},{line,83}]}, {cuttlefish_rebar_plugin,generate,2, [{file,"src/cuttlefish_rebar_plugin.erl"},{line,58}]}]}} Makefile:124: recipe for target 'rel' failed make: *** [rel] Error 1
The schema was:
{mapping, "max_buckets_per_user", "riak_cs.max_buckets_per_user", [ {default, 100}, {datatype, integer} {datatype, [{atom, unlimited}, integer]} ]}.
While this worked:
{mapping, "max_buckets_per_user", "riak_cs.max_buckets_per_user", [ {default, 100}, {datatype, integer} {datatype, [integer, {atom, unlimited}]} ]}.
So CS is okay with this workaround.
This is at Cuttlefish 2.0.1.
Addressed in the Cuttlefish documentation for extended datatypes
NOTE when providing a default, it must be satisfied by the head of the datatypes list.
The datatypes wiki page has an example like
{datatype, [integer, {atom, infinite}]}
that works. However, https://github.com/basho/riak_cs/commit/69ef213c67b7f52a07d7f1f8074f1744a6ebb8af does not work as expected, which means failure in generate. The message was:The schema was:
While this worked:
So CS is okay with this workaround.