Thank you for the reference, I have now resolved that ticket.

Jacopo

On Jan 28, 2010, at 11:03 AM, Abdullah Shaikh wrote:

> 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