+# split out from do_edit to be reported by Mp::P::Trace
+#sub _do_update_or_create {
+# my ($self, $r, $obj, $required_cols, $ignored_cols) = @_;
+#
+# my $fatal;
+# my $creating = 0;
+#
+# my $h = $self->Untainter->new( %{$r->params} );
+#
+# # update or create
+# if ($obj) {
+# # We have something to edit
+# eval { $obj->update_from_cgi( $h => {
+# required => $required_cols,
+# ignore => $ignored_cols,
+# } );
+# $obj->update(); # pos fix for bug 17132 'autoupdate required by do_edit'
+# };
+# $fatal = $@;
+# } else {
+# eval {
+# $obj = $self->create_from_cgi( $h => {
+# required => $required_cols,
+# ignore => $ignored_cols,
+# } );
+# };
+# $fatal = $@;
+# $creating++;
+# }
+#
+# return $obj, $fatal, $creating;
+#}
+