Decimal Figures Are Rounded during Synchronization with SQlite DB. (Doc ID 1610261.1)

Last updated on SEPTEMBER 21, 2016

Applies to:

Oracle Lite - Version 10.3.0.3.0 and later
Information in this document applies to any platform.

Symptoms

On : 10.3.0.3.0 version, Mobile Server

ACTUAL BEHAVIOR
---------------
number(12,8) with Value: 12.3456789 is synchronized like:
sqlite> select LONGITUDE from SSS_CUSTOMER_GPS_LOC;
12.346

EXPECTED BEHAVIOR
-----------------------
SQL> select LONGITUDE from Mars.SSS_CUSTOMER_GPS_LOC;
LONGITUDE
----------
12.3456789

STEPS
-----------------------
The issue can be reproduced at will with the following steps:
1. [oracle@olite-xp ~]$ export ORACLE_SID=MOBILE
[oracle@olite-xp ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Tue Nov 5 10:55:14 2013

Copyright (c) 1982, 2011, Oracle. All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options

SQL> create user mars identified by mars;

User created.

SQL> grant connect, dba to mars;

Grant succeeded.


CREATE TABLE MARS.SSS_CUSTOMER_GPS_LOC
(
 CUSTOMER_NUMBER NUMBER(9) NOT NULL,
 GPS_LOC_ID NUMBER(11) NOT NULL,
 LOCATION_ID NUMBER(11) NOT NULL,
 LONGITUDE NUMBER(12,8) NOT NULL,
 LATITUDE NUMBER(12,8) NOT NULL,
 ALTITUDE NUMBER(7,2) NOT NULL,
 SATELITES NUMBER(3) NOT NULL,
 CREATED_BY_USER_NUMBER NUMBER(6) DEFAULT 1 NOT NULL,
 CREATE_DATE DATE DEFAULT SYSDATE NOT NULL,
 CREATE_APPLICATION_ID NUMBER(2) DEFAULT 1 NOT NULL,
 UPDATED_BY_USER_NUMBER NUMBER(6) DEFAULT 1 NOT NULL,
 UPDATE_DATE DATE DEFAULT SYSDATE NOT NULL,
 UPDATE_APPLICATION_ID NUMBER(2) DEFAULT 1 NOT NULL
)
TABLESPACE USERS
RESULT_CACHE (MODE DEFAULT)
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
  INITIAL 64K
  NEXT 1M
  MINEXTENTS 1
  MAXEXTENTS UNLIMITED
  PCTINCREASE 0
  BUFFER_POOL DEFAULT
  FLASH_CACHE DEFAULT
  CELL_FLASH_CACHE DEFAULT
  )
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;


CREATE UNIQUE INDEX MARS.PK_SSS_CUSTOMER_GPS_LOC ON MARS.SSS_CUSTOMER_GPS_LOC
(GPS_LOC_ID, LOCATION_ID)
LOGGING
TABLESPACE USERS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
  INITIAL 64K
  NEXT 1M
  MINEXTENTS 1
  MAXEXTENTS UNLIMITED
  PCTINCREASE 0
  BUFFER_POOL DEFAULT
  FLASH_CACHE DEFAULT
  CELL_FLASH_CACHE DEFAULT
  )
NOPARALLEL;


CREATE INDEX MARS.SSS_CUSTOMER_GPS_LOC_FKIND1 ON MARS.SSS_CUSTOMER_GPS_LOC
(CUSTOMER_NUMBER, LOCATION_ID)
LOGGING
TABLESPACE USERS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
  INITIAL 64K
  NEXT 1M
  MINEXTENTS 1
  MAXEXTENTS UNLIMITED
  PCTINCREASE 0
  BUFFER_POOL DEFAULT
  FLASH_CACHE DEFAULT
  CELL_FLASH_CACHE DEFAULT
  )
NOPARALLEL;


insert into MARS.SSS_CUSTOMER_GPS_LOC (CUSTOMER_NUMBER , GPS_LOC_ID,LOCATION_ID, LONGITUDE , LATITUDE , ALTITUDE , SATELITES )
 values ('12.3456789','12.3456789','12.3456789','12.3456789','12.3456789','12.3456789','12.3456789');
commit;


2) Create PI Complete Refresh in Read only mode

3) Synchronize the PI.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms