NAME

Prophet::Conflict

VERSION

version 0.751

METHODS

analyze_changeset Prophet::ChangeSet

Take a look at a changeset. if there are any conflicts, populate the conflicting_changes array on this object with a set of Prophet::ConflictingChange objects.

generate_changeset_conflicts

Given a changeset, populates $self->conflicting_changes with all the conflicts that applying that changeset to the target replica would result in.

_generate_change_conflicts Prophet::Change

Given a change, generates a set of Prophet::ConflictingChange entries.

_generate_prop_change_conflicts Prophet::Change %hash_of_current_properties

Given a change and the current state of a record, returns an array of Prophet::ConflictingPropChange objects describing conflicts which would occur if the change were applied

generate_nullification_changeset

In order to record a changeset which might not apply cleanly to the current state of a replica, Prophet generates a nullification changeset. That is, a changeset which sets the state of the replica back to what it needs to be in order to apply the new changeset.

This routine computes a new Prophet::ChangeSet which contains everything needed to nullify the conflicting state of the replica.

AUTHORS

  • Jesse Vincent <jesse@bestpractical.com>

  • Chia-Liang Kao <clkao@bestpractical.com>

  • Christine Spang <christine@spang.cc>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2009 by Best Practical Solutions.

This is free software, licensed under:

The MIT (X11) License

BUGS AND LIMITATIONS

You can make new bug reports, and view existing ones, through the web interface at https://rt.cpan.org/Public/Dist/Display.html?Name=Prophet.

CONTRIBUTORS

  • Alex Vandiver <alexmv@bestpractical.com>

  • Casey West <casey@geeknest.com>

  • Cyril Brulebois <kibi@debian.org>

  • Florian Ragwitz <rafl@debian.org>

  • Ioan Rogers <ioanr@cpan.org>

  • Jonas Smedegaard <dr@jones.dk>

  • Kevin Falcone <falcone@bestpractical.com>

  • Lance Wicks <lw@judocoach.com>

  • Nelson Elhage <nelhage@mit.edu>

  • Pedro Melo <melo@simplicidade.org>

  • Rob Hoelz <rob@hoelz.ro>

  • Ruslan Zakirov <ruz@bestpractical.com>

  • Shawn M Moore <sartak@bestpractical.com>

  • Simon Wistow <simon@thegestalt.org>

  • Stephane Alnet <stephane@shimaore.net>

  • Unknown user <nobody@localhost>

  • Yanick Champoux <yanick@babyl.dyndns.org>

  • franck cuny <franck@lumberjaph.net>

  • robertkrimen <robertkrimen@gmail.com>

  • sunnavy <sunnavy@bestpractical.com>