Hey Jacopo, I already created a jira issue for this
https://issues.apache.org/jira/browse/OFBIZ-3429, I should have waited for
some more time.

Thanks,
Abdullah

On Thu, Jan 28, 2010 at 3:23 PM, Jacopo Cappellato <
jacopo.cappell...@hotwaxmedia.com> wrote:

> Hi Abdullah,
>
> in rev. 904020  I have commented out that code.
>
> Thanks,
>
> Jacopo
>
> On Jan 28, 2010, at 10:14 AM, Abdullah Shaikh wrote:
>
> > Hi Jacopo,
> >
> > I got what you said, you mean it is not able to delete the record from
> > QuantityBreak, as its still being referenced from some other records, and
> > thus rolls back the transaction to which leads to the Shipping Estimate
> not
> > being deleted.
> >
> > But I feel it shouldn't even attempt to delete the record from
> > QuantityBreak, because the QuantityBreak record may still being used and
> > every time it will attempt to delete and will fail, if we are able to
> avoid
> > the roll back then it should work, but why to delete the QuantityBreak
> > record in first place ?
> >
> > Also it may happen that currently the QuantityBreak record is not being
> > used, in this case all should work fine, but this will also delete the
> > QuantityBreak record which it shouldn't as the it may be required later.
> >
> >
> > - Abdullah
> >
> > On Thu, Jan 28, 2010 at 2:26 PM, Jacopo Cappellato <
> > jacopo.cappell...@hotwaxmedia.com> wrote:
> >
> >> Hi Abdullah,
> >>
> >> On Jan 28, 2010, at 9:03 AM, Abdullah Shaikh wrote:
> >>
> >>> After looking into ShipmentServices.java's removeShipmentEstimate
> method
> >>> which actually deletes the Shipping Estimate, it also try to delete the
> >>> related entity records from WeightQuantityBreak, QuantityQuantityBreak
> &
> >>> PriceQuantityBreak.
> >>>
> >>> The Shipping Estimate which I configured for eCommerce was using the
> >> Weight
> >>> Break Id  "0 - 0 [RentalStore]" which is also being used by Open Travel
> >>> system store and that's why it couldn't delete because of foreign key
> >>> constraint.
> >>>
> >>> Should the removeShipmentEstimate also delete the related entries from
> >>> QuantityBreak tables ?
> >>>
> >>
> >> No, in my opinion it shouldn't delete the QuantityBreak records.
> >> However the code seems to be written in order to only *attempt* to
> delete
> >> the records:
> >>
> >>       try {
> >>           if (estimate.get("weightBreakId") != null) {
> >>               delegator.removeRelated("WeightQuantityBreak", estimate);
> >>           }
> >>       } catch (GenericEntityException e) {
> >>           Debug.logInfo("Not removing WeightQuantityBreak records
> related
> >> to ShipmentCostEstimate [" + shipmentCostEstimateId + "] because they
> are
> >> used by other entities.", module);
> >>       }
> >>       return ServiceUtil.returnSuccess();
> >>
> >> but this doesn't seem to work as expected: my guess is that when the
> error
> >> is thrown the transaction is rolled back.
> >> The quick solution is to comment the above code but it would be nice to
> >> verify if there is a better way to avoid the rollback (I am forwarding
> this
> >> mail to the dev list).
> >>
> >> Kind regards,
> >>
> >> Jacopo
> >>
> >>
> >>> - Abdullah
> >>>
> >>> On Thu, Jan 28, 2010 at 1:12 PM, Abdullah Shaikh <
> >>> abdullah.shaik...@gmail.com> wrote:
> >>>
> >>>> I created a Shipping Estimate and then I clicked on Remove button to
> >> delete
> >>>> the shipping estimate, but I got the below error.
> >>>>
> >>>> It looks it is also trying to delete the record from QuantityBreak
> >> table,
> >>>> which it shouldn't.
> >>>>
> >>>>
> >>>> The Following Errors Occurred:
> >>>>
> >>>> Error calling event: org.ofbiz.webapp.event.EventHandlerException:
> >> Service
> >>>> invocation error (Could not commit transaction for service
> >>>> [removeShipmentEstimate] call: Roll back error, could not commit
> >>>> transaction, was rolled back instead because of: Failure in
> >>>> removeByCondition operation for entity [QuantityBreak]:
> >>>> org.ofbiz.entity.GenericDataSourceException: Generic Entity Exception
> >>>> occured in deleteByCondition (SQL Exception while executing the
> >>>> following:DELETE FROM public.QUANTITY_BREAK WHERE (QUANTITY_BREAK_ID =
> >>>> 'RentalStore') (ERROR: update or delete on table "quantity_break"
> >> violates
> >>>> foreign key constraint "shpmnt_ce_wht_qb" on table
> >>>> "shipment_cost_estimate"<br/> Detail: Key
> >> (quantity_break_id)=(RentalStore)
> >>>> is still referenced from table "shipment_cost_estimate".)). Rolling
> back
> >>>> transaction.org.ofbiz.entity.GenericDataSourceException: Generic
> Entity
> >>>> Exception occured in deleteByCondition (SQL Exception while executing
> >> the
> >>>> following:DELETE FROM public.QUANTITY_BREAK WHERE (QUANTITY_BREAK_ID =
> >>>> 'RentalStore') (ERROR: update or delete on table "quantity_break"
> >> violates
> >>>> foreign key constraint "shpmnt_ce_wht_qb" on table
> >>>> "shipment_cost_estimate"<br/> Detail: Key
> >> (quantity_break_id)=(RentalStore)
> >>>> is still referenced from table "shipment_cost_estimate".)) (Generic
> >> Entity
> >>>> Exception occured in deleteByCondition (SQL Exception while executing
> >> the
> >>>> following:DELETE FROM public.QUANTITY_BREAK WHERE (QUANTITY_BREAK_ID =
> >>>> 'RentalStore') (ERROR: update or delete on table "quantity_break"
> >> violates
> >>>> foreign key constraint "shpmnt_ce_wht_qb" on table
> >>>> "shipment_cost_estimate"<br/> Detail: Key
> >> (quantity_break_id)=(RentalStore)
> >>>> is still referenced from table "shipment_cost_estimate".))))
> >>>>
> >>>> - Abdullah
> >>>>
> >>
> >>
>
>

Reply via email to