db-torque-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sudhakar Pandey (JIRA)" <j...@apache.org>
Subject [jira] Commented: (TORQUE-53) Inserting wrong data if data type is Double and 0(zero) is the last digit
Date Fri, 18 Aug 2006 15:09:14 GMT
    [ http://issues.apache.org/jira/browse/TORQUE-53?page=comments#action_12429040 ] 
            
Sudhakar Pandey commented on TORQUE-53:
---------------------------------------

One more observation!

If we try to enter new Double(1234567890.1234) even Torque also inserts the correct data.
It means problem occurs for following case:
1. Number-of-digits is more then seven (in my case where column is of size (15,4))
2. Last digit is zero.
3. No decimal and digits after decimal.

We are facing this problem in our production environment and hence any solution or work around
will be helpful.

I am counting on you folks:).
Thanks alot


> Inserting wrong data if data type is Double and 0(zero) is the last digit
> -------------------------------------------------------------------------
>
>                 Key: TORQUE-53
>                 URL: http://issues.apache.org/jira/browse/TORQUE-53
>             Project: Torque
>          Issue Type: Bug
>    Affects Versions: 3.2
>         Environment: Windows NT
>            Reporter: Sudhakar Pandey
>
> Problem: Torque is inserting wrong data in the database for Double type. 
> Database description
> ~~~~~~~~~~~~~~~~~
> Database: Oracle 10g
> Oracle JDBC version: 10.2.0.1.0
> Table Name: Bank_Account
> Column Name: Current_Balance
> Column dataType: NUMBER(15,4)
> When I am trying to enter a value new Double(1234567890) it insert/update 12.3456 in
the database. This happens only if the number of digits are more than 7 and last digit is
0(zero).
> I have tried updating using directly PreparedStatement and it just worked fine. Problem
comes only with Torque.
> Following is the program I have used for varification:
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> <Code>
> ............
> 	public static void main(String argv[]) {
> 		TorqueInitializer.init();
> 		Connection db_connection = null;
> 		db_connection = Common.getConnection();
> 		
> 		if (db_connection == null) {
> 			System.out.println("Unable to get dbConnection");
> 		}
> 		
> 		try {
> 			BankAccount bankAccount = showCurrentBalance(db_connection);
> 			long value = 12345l;
> 			for (int i = 5; i < 11; i++, value = ((value * 10) + i)) {
> 				System.out.println("Value=" + value);		
> 				System.out.print("<Before update> ");
> 				bankAccount = showCurrentBalance(db_connection);
> 				
> 				if (updateUsingPrepStat)
> 					updateCurrentBalanceUsingPStat(db_connection, new Double(
> 							value * 10));
> 				else
> 					updateCurrentBalanceUsingTorque(bankAccount, db_connection,
> 							new Double(value * 10));
> 				System.out.print("<After update> ");
> 				bankAccount = showCurrentBalance(db_connection);
> 			}
> 		} catch (Exception e) {
> 			e.printStackTrace();
> 		} finally {
> 			
> 			if (db_connection != null)
> 				try {
> 					db_connection.close();
> 				} catch (SQLException e) {
> 					e.printStackTrace();
> 				}
> 		}
> 	}
> 	
> 	public static BankAccount showCurrentBalance(Connection db_connection) {
> 		try {
> 			Criteria c = new Criteria();
> 			c.add(BankAccountPeer.BANK_ACCOUNT_ID, new Long(1523764));
> 			List list = BankAccountPeer.doSelect(c, db_connection);
> 			BankAccount bankAccount = (BankAccount) list.get(0);
> 			System.out.println("Current account balance: "
> 					+ bankAccount.getCurrentBalance());
> 			return bankAccount;
> 		} catch (TorqueException e) {
> 			e.printStackTrace();
> 		}
> 		return null;
> 	}
> 	
> 	public static void updateCurrentBalanceUsingTorque(BankAccount bankAccount,
> 			Connection db_connection, Double value) throws Exception {
> 		bankAccount.setCurrentBalance(value);
> 		bankAccount.save(db_connection, "ibdv70");
> 	}
> ............
> </Code

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: torque-dev-unsubscribe@db.apache.org
For additional commands, e-mail: torque-dev-help@db.apache.org


Mime
View raw message