CR 710279 | Exception not thrown when failing to set
personalization parameters or synchronization parameters.When an application starts up for the first time, you
should first perform an initial synchronization before setting
personalization parameters and synchronization parameters. Without an
initial synchronization, setting the personalization parameters and
synchronization parameters fails.
In that case,
although the saving of the personalization parameters and synchronization
parameters fails, no exception is thrown, as if these operations
succeed.
Workaround: Ensure
that you perform an initial synchronization before setting personalization
parameters and synchronization parameters.
|
CR 709534 | Synchronization notification does not mean
that asynchronous operation replay is complete.In an
Android, BlackBerry, or Windows or Windows Mobile application, when you
call DBClass.beginSynchronize(synchronizationGroups,userContext,uploadOnly)
with AsyncReplay=true, the userContext is passed to the server and used
in CallbackHandler.onSynchronize()
with SynchronizationStatus=ASYNC_REPLAY_COMPLETED. If CallbackHandler.onSynchronize() returns
CONTINUE, the Object API uses the
same userContext for the triggered
synchronize.
Workaround: Call beginSynchronize manually from the onSynchronize callback and return CANCEL to disable the triggered callback.
|
CR 709392 | Missing error code methods
for the BlackBerry client in
com.sybase.persistence.SynchronizationContext.The
BlackBerry client is missing the following Object API methods for getting
and settings error codes and messages in com.sybase.persistence.SynchronizationContext:
- getErrorCode
- setErrorCode
- getErrorMessage
- setErrorMessage
Workaround: Patch 01 fixes this
issue. See the Fixed Issues in Patch 01 in
the Sybase Unwired Platform 2.1 ESD #3 Patch
01 section of this release bulletin.
If
you cannot apply the patch, there is no workaround.
|
CR 709353 | Cannot pass cookie through Personalization Key in
RBS.Workaround: Use the following
code: SUPStringProperties *cookies = [smnwTests verizonCookies];
[[[SUPApplication getInstance] connectionProperties] setHttpCookies:cookies];
|
CR 709073 |
Operation replay records may not be processed
correctly.In some cases, operation replay records that you upload to
the Unwired Server are not processed in the correct order on the server. For
example:
[customer create]; // inserts a row into the MBO table
[customer submitPending]; // inserts a row into the operation replay table
[customer delete]; // deletes the row from the MBO table (because of server-side processing, does not remove the row from the operation replay table)
[customer submitPending]; // does nothing
Workaround: Call cancelPending operation to cancel any pending
record before submitting another operation.
|
CR 708708 | Ultralite database is not automatically
backed up on iOS devices.Due to an Ultralite
database limitation, the Ultralite database file is stored in the
application Documents directory and the "do not backup" attribute of the
file is set. The data is not automatically backed up.
Workaround: If needed, perform a
manual backup of the data.
|
CR 708707 | Best practice for deleting the client
databaseAsynchronous operation replay is enabled by
default. When the application is connected (by Application.StartConnection() or Application.RegisterApplication), the application may receive
background notifications and will trigger a synchronize or other database operation. If you try to delete
the database, you may receive database exceptions.
Workaround: Before deleting the database, stop
the application connection (Application.StopConnection()).
|
CR 708624 | Synchronization with Network Edge Auth SSO on BB device.When
synchronizing with Network Edge Auth SSO on BlackBerry device
UltraLiteJ Error[-85]: Communication error (HTTP 500, URL
http://ucperflab01.sybase.com//rs/client/rs_client.dll/supnw.rep1
appears.
Workaround 1: Set Synchronization Server
URL Suffix of Application Connection Templates to
rs/client/rs_client.dll/{RBSFarmID}.
Workaround
2: Set the following line in your connection profiles:
ConnectionProfile sp = SSOWSDB.getSynchronizationProfile();
NetworkStreamParams streamParams = sp.getStreamParams();
streamParams.setUrl_Suffix("rs/client/rs_client.dll/{RBSFarmID}");
sp.save(); ...
|
CR 692374 | Enabling compression incurs additional processing on the device and the
server side to optimize the amount of data to be transferred over the
network.
Workaround: Carefully evaluate whether the compression trade-off is
appropriate in the deployment environment, and carefully size the server
capacity to support it. If appropriate in a particular environment, follow
the Sybase Unwired Platform Developer Guides to enable
compression.
|
CR 690308 | The query.getRow() API may not return the correct row to
BlackBerry clients.For example, in this connected
result set for a BlackBerry client:
Query query = new Query();
query.select("c.id as Id, c.fname as Fname, c.state as countState");
query.from("Customer", "c");
query.setConnectedResultSetEnabled(true);
QueryResultSet rs = MyDatabase.executeQuery(query);
rs.executeQuery();
rs.last();
rs.afterLast();
rs.previous();
rs.getRow() may not return the correct value. Workaround: Do not use the
query.getRow() API QueryResultSet.previous\next return boolean to indicate
if the current position is valid. Rely on the return value instead.
|
CR 675716 | SQLite cannot support create operations with more than 3MB of
data, which is roughly 128 columns at 64KB per column on Windows Mobile
devices. In
Windows Mobile applications that use message-based synchronization, when a
row reaches 3MB or more, and the client invokes the SQLite create operation
during subscription, an internal exception is generated, data import fails,
and the import operation fails to commit the transaction.
Workaround: None.
|