Hi DAvid,
Here is the error
2008-12-18 05:20:12,390 (http-0.0.0.0-18443-1) [
UtilXml.java:241:INFO ] XML Read 0.047s: file:/D:/
workspace/ofbizRun/applications/product/script/org/ofbiz/product/
product/ProductServices.xml
2008-12-18 05:20:12,484 (http-0.0.0.0-18443-1) [
GenericDelegator.java:1280:ERROR]
---- exception report
----------------------------------------------------------
Failure in store operation for entity [ProductCalculatedInfo]:
org.ofbiz.entity.GenericEntityException: Error while updating:
[GenericEntity:ProductCalculatedInfo][averageCustomerRating,null()]
[createdStamp,2
008-12-05 19:30:54.968(java.sql.Timestamp)][createdTxStamp, 2008-12-05
19:30:54.875(java.sql.Timestamp)][lastUpdatedStamp,
2008-12-18 05:20:12.484(java.sql.Timestamp)][lastUpdatedTxStamp, 2008-12-18
05:20:12.265
(java.sql.Timestamp)][productId,WG-5569(java.lang.String)]
[totalQuantityOrdered,4(java.lang.String)][totalTimesViewed,
3(java.lang.Long)] (SQL Exception while executing the following:UPDATE
public.PRODUCT_CALC
ULATED_INFO SET TOTAL_QUANTITY_ORDERED=?, TOTAL_TIMES_VIEWED=?,
AVERAGE_CUSTOMER_RATING=?, LAST_UPDATED_STAMP=?,
LAST_UPDATED_TX_STAMP=?, CREATED_STAMP=?, CREATED_TX_STAMP=? WHERE
PRODUCT_ID=? (ERREUR: la col
onne ½ total_quantity_ordered + est de type double precision mais l'expression
est de type character varying)). Rolling back
transaction.
Exception: org.ofbiz.entity.GenericEntityException
Message: Error while updating: [GenericEntity:ProductCalculatedInfo]
[averageCustomerRating,null()][createdStamp,2008-12-05
19:30:54.968(java.sql.Timestamp)][createdTxStamp,2008-12-05
19:30:54.875(java.sql.Tim
estamp)][lastUpdatedStamp,2008-12-18
05:20:12.484(java.sql.Timestamp)][lastUpdatedTxStamp,2008-12-18
05:20:12.265(java.sql.Timestamp)]
[productId,WG-5569(java.lang.String)][totalQuantityOrdered, 4(java.lang.Str
ing)][totalTimesViewed,3(java.lang.Long)] (SQL Exception while executing the
following:UPDATE public.PRODUCT_CALCULATED_INFO SET
TOTAL_QUANTITY_ORDERED=?, TOTAL_TIMES_VIEWED=?, AVERAGE_CUSTOMER_RATING=?, LAST
_UPDATED_STAMP=?, LAST_UPDATED_TX_STAMP=?, CREATED_STAMP=?, CREATED_TX_STAMP=?
WHERE PRODUCT_ID=? (ERREUR: la colonne ½
total_quantity_ordered + est de type double precision mais l'expression est de
type char
acter varying))
---- cause
---------------------------------------------------------------------
Exception: org.ofbiz.entity.GenericDataSourceException
Message: SQL Exception while executing the following:UPDATE
public.PRODUCT_CALCULATED_INFO SET TOTAL_QUANTITY_ORDERED=?,
TOTAL_TIMES_VIEWED=?, AVERAGE_CUSTOMER_RATING=?, LAST_UPDATED_STAMP=?,
LAST_UPDATED_TX_
STAMP=?, CREATED_STAMP=?, CREATED_TX_STAMP=? WHERE PRODUCT_ID=? (ERREUR: la
colonne ½ total_quantity_ordered + est de type
double precision mais l'expression est de type character varying)
---- cause
---------------------------------------------------------------------
Exception: org.postgresql.util.PSQLException
Message: ERREUR: la colonne ½ total_quantity_ordered + est de type double
precision mais l'expression est de type character
varying
---- stack trace
---------------------------------------------------------------
org.postgresql.util.PSQLException: ERREUR: la colonne ½ total_quantity_ordered
+ est de type double precision mais l'expression
est de type character varying
org .postgresql .core
.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java: 1592)
org .postgresql
.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1327)
org .postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java: 192)
org .postgresql
.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:451)
org .postgresql .jdbc2
.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java: 350)
org .postgresql .jdbc2
.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:304)
org .apache .commons .dbcp .DelegatingPreparedStatement
.executeUpdate(DelegatingPreparedStatement.java:102)
org .apache .commons .dbcp .DelegatingPreparedStatement
.executeUpdate(DelegatingPreparedStatement.java:102)
org.ofbiz.entity.jdbc.SQLProcessor.executeUpdate(SQLProcessor.java: 429)
org.ofbiz.entity.datasource.GenericDAO.singleUpdate(GenericDAO.java: 270)
org.ofbiz.entity.datasource.GenericDAO.customUpdate(GenericDAO.java: 211)
org.ofbiz.entity.datasource.GenericDAO.update(GenericDAO.java:205)
org .ofbiz .entity.datasource.GenericHelperDAO.store(GenericHelperDAO.java:172)
org.ofbiz.entity.GenericDelegator.store(GenericDelegator.java:1268)
org.ofbiz.minilang.method.entityops.StoreValue.exec(StoreValue.java: 74)
org.ofbiz.minilang.SimpleMethod.runSubOps(SimpleMethod.java:921)
org.ofbiz.minilang.method.ifops.IfEmpty.exec(IfEmpty.java:98)
org.ofbiz.minilang.SimpleMethod.runSubOps(SimpleMethod.java:921)
org.ofbiz.minilang.SimpleMethod.exec(SimpleMethod.java:749)
org.ofbiz.minilang.SimpleMethod.runSimpleMethod(SimpleMethod.java:149)
org.ofbiz.minilang.SimpleMethod.runSimpleService(SimpleMethod.java: 131)
org .ofbiz .minilang
.SimpleServiceEngine.serviceInvoker(SimpleServiceEngine.java:76)
org .ofbiz.minilang.SimpleServiceEngine.runSync(SimpleServiceEngine.java: 51)
org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java: 384)
org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java: 213)
org.ofbiz.service.GenericDispatcher.runSync(GenericDispatcher.java: 149)
org.ofbiz.order.order.OrderServices.createOrder(OrderServices.java: 266)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun .reflect .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun .reflect .DelegatingMethodAccessorImpl
.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org .ofbiz .service
.engine.StandardJavaEngine.serviceInvoker(StandardJavaEngine.java:96)
org .ofbiz
.service.engine.StandardJavaEngine.runSync(StandardJavaEngine.java:54)
org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java: 384)
org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java: 213)
org.ofbiz.service.GenericDispatcher.runSync(GenericDispatcher.java: 149)
org .ofbiz .order.shoppingcart.CheckOutHelper.createOrder(CheckOutHelper.java:
602)
org .ofbiz .order.shoppingcart.CheckOutEvents.createOrder(CheckOutEvents.java:
434)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun .reflect .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun .reflect .DelegatingMethodAccessorImpl
.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.ofbiz.webapp.event.JavaEventHandler.invoke(JavaEventHandler.java: 89)
org.ofbiz.webapp.event.JavaEventHandler.invoke(JavaEventHandler.java: 75)
org.ofbiz.webapp.control.RequestHandler.runEvent(RequestHandler.java: 456)
org .ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java: 288)
org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:204)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org .apache .catalina .core
.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 290)
org .apache .catalina
.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.ofbiz.webapp.control.ContextFilter.doFilter(ContextFilter.java: 259)
org .apache .catalina .core
.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 235)
org .apache .catalina
.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org .apache
.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 233)
org .apache
.catalina.core.StandardContextValve.invoke(StandardContextValve.java: 175)
org .apache .catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
org .apache .catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org .apache .catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
109)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java: 568)
org .ofbiz .catalina .container
.CrossSubdomainSessionValve.invoke(CrossSubdomainSessionValve.java:42)
org .apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: 286)
org .apache.coyote.http11.Http11Processor.process(Http11Processor.java: 844)
org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java: 447)
java.lang.Thread.run(Thread.java:595)
--------------------------------------------------------------------------------
2008-12-18 05:20:12,500 (http-0.0.0.0-18443-1) [
TransactionUtil.java:311:WARN ]
---- exception report
----------------------------------------------------------
[TransactionUtil.setRollbackOnly] Calling transaction setRollbackOnly; this
stack trace shows where this is happening:
Exception: java.lang.Exception
Message: Failure in store operation for entity [ProductCalculatedInfo]:
org.ofbiz.entity.GenericEntityException: Error while
updating: [GenericEntity:ProductCalculatedInfo]
[averageCustomerRating,null()][creat
edStamp,2008-12-05 19:30:54.968(java.sql.Timestamp)][createdTxStamp, 2008-12-05
19:30:54.875(java.sql.Timestamp)][lastUpdatedStamp, 2008-12-18
05:20:12.484(java.sql.Timestamp)][lastUpdatedTxStamp, 2008-12-18
05:
20:12.265(java.sql.Timestamp)][productId,WG-5569(java.lang.String)]
[totalQuantityOrdered,4(java.lang.String)][totalTimesViewed,
3(java.lang.Long)] (SQL Exception while executing the following:UPDATE
public.PRO
DUCT_CALCULATED_INFO SET TOTAL_QUANTITY_ORDERED=?, TOTAL_TIMES_VIEWED=?,
AVERAGE_CUSTOMER_RATING=?, LAST_UPDATED_STAMP=?,
LAST_UPDATED_TX_STAMP=?, CREATED_STAMP=?, CREATED_TX_STAMP=? WHERE
PRODUCT_ID=? (ERREU
R: la colonne ½ total_quantity_ordered + est de type double precision mais
l'expression est de type character varying)). Rolling
back transaction.
I guess At this stage BigDecimal or Double is the same (it will be
sql-type="FLOAT8" anyway)
Jacques
From: "David E Jones" <[email protected]>
If that is the case then there must have been a different error message than
the one quoted in the first message by Akash:
"DATABASE TYPE error IN GenericEntity.set In entity field
[OrderPaymentPreference.maxAmount] set the value passed in
[java.math.BigDecimal] is not compatible with the Java type of the field
[Double]"
That error comes from GenericEntity.java and there is no exception thrown or
anything that would cause a rollback.
What was the error that caused the rollback? I'm thinking that it would be best to use
a type="BigDecimal", but I don't know
because I don't know what the problem was you were trying to fix...
-David
On Dec 17, 2008, at 7:34 AM, Jacques Le Roux wrote:
On Postgres it's not only a warning but really an error. The transaction is
rolled back and you can't create an order from
eCommerce without that change.
I used Double since that's what was used 3 lines above for the same variable.
I just tried with BigDecimal, it works too. But I'm not sure it makes more
sense to use BigDecimal as it's about a quantity
(totalQuantityOrdered).
I never saw a rational quantity used but I guess Long would not fit well here
in case somebody would have the need for
rational quantities.
Do you want I put BigDecimal instead ?
Jacques
From: "David E Jones" <[email protected]>
That's a funny one, since the syntax used was not supported before UEL was
introduced, and I mean the original line without
your change Jacques. In other words this attribute would not work without
UEL:
value="${productCalculatedInfo.totalQuantityOrdered + parameters.quantity}"
I guess somehow the type casting was missed so whatever UEL defaults to was
used. If that was BigDecimal, then we should
LEAVE it as BigDecimal and not cast it to a Double. Yes, for now there will
be warnings (which is all that the reported
message was), but there is a separate branch that mostly Scott Gray is
working on to get everything moved over from
Double to BigDecimal, and until then the warnings are a good thing and we
shouldn't try to fix each one.
For everyone, when you see that warning message just consider a reminder
that there is an effort going on to move from
Double to BigDecimal and without it there are issues in OFBiz, so your help
on the effort will help you too.
-David
On Dec 16, 2008, at 11:21 AM, Jacques Le Roux wrote:
I got the same type of problem in OrderServices.createOrder method when
calling service countProductQuantityOrdered
I changed the line
<set field="productCalculatedInfo.totalQuantityOrdered" value="$
{productCalculatedInfo.totalQuantityOrdered +
parameters.quantity}"/>
to
<set field="productCalculatedInfo.totalQuantityOrdered" value="$
{productCalculatedInfo.totalQuantityOrdered +
parameters.quantity}"
type="Double"/>
I guess it's related to recent UEL change and, as David said, we will cross
a lot of same issues...
Jacques
From: "Akash Jain" <[email protected]>
Hello all,
I am getting an exception when I submitted order in ecommerce.
(1) First I add a product to cart.(add to cart)
(2) Then click on checkout.(One Page Checkout)
I am getting an exception like
DATABASE TYPE error IN GenericEntity.set In entity field
[OrderPaymentPreference.maxAmount] set the value passed in
[java.math.BigDecimal] is not compatible with the Java type of the field
[Double]
after submitting order.(Submit Order)
( I am working on 726678 Revision)
Thanks in advance
Regards
Akash Jain
Hotwaxmedia Pvt. Ltd.