aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2011-05-16add mnesia_majority_test suiteUlf Wiger
2011-05-16where_to_wlock optimization + change_table_majority/2Ulf Wiger
2011-05-16bug in mnesia_tm:needs_majority/2Ulf Wiger
2011-05-16optimize sticky_lock maj. checkUlf Wiger
2011-05-16check majority for sticky locksUlf Wiger
2011-05-16Write locks now check majority when needed.Ulf Wiger
Since the table loader also sets (table) write locks, a special lock type, 'load', was needed. Unfortunately, this affects mnesia activity callbacks that redefine the lock operation.
2011-05-16Add {majority, boolean()} per-table option.Ulf Wiger
With {majority, true} set for a table, write transactions will abort if they cannot commit to a majority of the nodes that have a copy of the table. Currently, the implementation hooks into the prepare_commit, and forces an asymmetric transaction if the commit set affects any table with the majority flag set. In the commit itself, the transaction will abort if it cannot satisfy the majority requirement for all tables involved in the thransaction. A future optimization might be to abort already when a write lock is attempted on such a table (/-object) and the lock cannot be set on enough nodes. This functionality introduces the possibility to automatically "fence off" a table in the presence of failures. This is a first implementation. Only basic tests have been performed.
2011-05-09Merge branch 'sa/dialyzer-tests' into devHenrik Nord
* sa/dialyzer-tests: (22 commits) Update dialyzer.spec Add race/ets_insert_public Add opaque/ewgi,ewgi2 Add opaque/schuett_bug Add small/param_types_crash Add small/file_open_encoding Add small/false_false Add small/ets_update_counter Add small/bin_compr Add small/tuple_set_crash Add small/refine_failing Add small/not_bogus_warning Add small/none_scc_inf_loop Add small/guards Add small/guard_warnings Add small/confusing_record_warning Add small/blame_contract_range Update small/recursive_types2 source Update opaque/zoltan_kis* sources Update options1/compiler results ... OTP-9278
2011-05-09Merge branch 'ks/list_to_bitstring' into devHenrik Nord
* ks/list_to_bitstring: Fix handling of <<_:N,_:_*M>> type expressions Fix the argument of erlang:list_to_bitstring/1 Move function to its proper place Remove unneeded function 'sequence/2' OTP-9277
2011-05-09Add ticet number for tm/xmerl_attr_charref_fixHenrik Nord
OTP-9274
2011-05-09Merge branch 'tm/xmerl_attr_charref_fix' into devHenrik Nord
* tm/xmerl_attr_charref_fix: Prevent xmerl from over-normalizing character references in attributes
2011-05-09Merge branch 'lukas/common_test/timeout_location_fix/OTP-9265' into devLukas Larsson
* lukas/common_test/timeout_location_fix/OTP-9265: Fix ct_framework to not crash when error_notification location is undefined.
2011-05-06Merge branch 'kj/eunit-race-cond' into devHenrik Nord
* kj/eunit-race-cond: Don't let eunit_surefire report back to eunit when stopping Wait until all eunit listeners terminate OTP-9269
2011-05-06Merge branch 'lukas/common_test/ct_hook_bugs/OTP-9264' into devLukas Larsson
* lukas/common_test/ct_hook_bugs/OTP-9264: Fix bug which would make cth's to not be removed when out of scope when adding a cth in suite/0 and crashing in pre_init_per_suite.
2011-05-05Merge branch 'ia/ssl/more-socket-options-dialyzer-issues' into devIngela Anderton Andin
* ia/ssl/more-socket-options-dialyzer-issues: Spec corrections
2011-05-05Spec correctionsIngela Anderton Andin
2011-05-04Update dialyzer.specStavros Aronis
2011-05-04Add race/ets_insert_publicStavros Aronis
2011-05-04Add opaque/ewgi,ewgi2Stavros Aronis
2011-05-04Add opaque/schuett_bugStavros Aronis
2011-05-04Add small/param_types_crashStavros Aronis
2011-05-04Add small/file_open_encodingStavros Aronis
2011-05-04Add small/false_falseStavros Aronis
2011-05-04Add small/ets_update_counterStavros Aronis
2011-05-04Add small/bin_comprStavros Aronis
2011-05-04Add small/tuple_set_crashStavros Aronis
2011-05-04Add small/refine_failingStavros Aronis
2011-05-04Add small/not_bogus_warningStavros Aronis
2011-05-04Add small/none_scc_inf_loopStavros Aronis
2011-05-04Add small/guardsStavros Aronis
2011-05-04Add small/guard_warningsStavros Aronis
2011-05-04Add small/confusing_record_warningStavros Aronis
2011-05-04Add small/blame_contract_rangeStavros Aronis
2011-05-04Update small/recursive_types2 sourceStavros Aronis
2011-05-04Update opaque/zoltan_kis* sourcesStavros Aronis
2011-05-04Update options1/compiler resultsStavros Aronis
2011-05-04Rename suite data directoriesStavros Aronis
2011-05-04Simplify Dialyzer's test suite structureStavros Aronis
*_SUITE.erl files are now automatically generated by the respective data directories by the Makefile.
2011-05-04Merge branch 'maint-r14' into devNiclas Eklund
2011-05-04Dialyzer spec fixIngela Anderton Andin
2011-05-03Merge branch 'ta/unicode-non-chars' into devHenrik Nord
* ta/unicode-non-chars: unicode: document 16#FFFE and 16#FFFF (non chars) OTP-9256
2011-05-03Merge branch 'mh/inhibit-newline-inside-typespec' into devHenrik Nord
* mh/inhibit-newline-inside-typespec: Inhibit electric newline after "->" when inside a type spec OTP-9255
2011-05-03Merge branch 'ia/ssl/dialyzer-iodata' into devIngela Anderton Andin
* ia/ssl/dialyzer-iodata: Changed iolist() to iodata()
2011-05-02Fix handling of <<_:N,_:_*M>> type expressionsKostis Sagonas
2011-05-02Fix the argument of erlang:list_to_bitstring/1Kostis Sagonas
2011-05-02Move function to its proper placeKostis Sagonas
2011-05-02Remove unneeded function 'sequence/2'Stavros Aronis
Same functionality provided by string:join/2.
2011-04-29Merge branch 'ms/erl_interface-compile-error' into devHenrik Nord
* ms/erl_interface-compile-error: erl_interface: fix compile error OTP-9252
2011-04-29Changed iolist() to iodata()Ingela Anderton Andin
ssl:send/2 takes iodata() as a second argument. erlang:iolist_to_binary should really be called erlang:iodata_to_binary which caused the mismatch in the first place.
2011-04-28Prevent xmerl from over-normalizing character references in attributesTom Moertel
Section 3.3.3 of the XML Recommendation gives the rules for attribute-value normalization. One of those rules requires that character references not be re-normalized after being replaced with the referenced characters: For a character reference, append the referenced character to the normalized value. And, in particular: Note that if the unnormalized attribute value contains a character reference to a white space character other than space (#x20), the normalized value contains the referenced character itself (#xD, #xA or #x9). Source: http://www.w3.org/TR/xml/#AVNormalize In xmerl_scan, however, character references in attributes are normalized an extra time after replacement. For example, the character reference "&#xA" in the following XML document gets normalized (incorrectly) into a space when parsed: 2> xmerl_scan:string("<root x='&#xA;'/>"). {... [{xmlAttribute,x,[],[],[],[],1,[]," ",false}] ...} This short patch restores the correct behavior: 2> xmerl_scan:string("<root x='&#xA;'/>"). {... [{xmlAttribute,x,[],[],[],[],1,[],"\n",false}] ...} NOTE: This change does not include tests because I could not find a test suite for xmerl.