Contents
Chapter 1: Introduction
What's new in JDataStore 3.5
JDataStore enhancements
API changes
Deployment changes
DataStore Explorer
JDBC Explorer
When to use JDataStore
JDataStore and DataStore
What you should know
What's in this book
Starting with the DataStore Explorer
Deploying DataStore application components
Contacting Borland developer support
Chapter 2: DataStore fundamentals
DataStore primer
Serializing objects
Demonstration class: Hello.java
Creating a DataStore file
Opening and closing connections
Handling basic DataStore exceptions
Deleting DataStore files
Storing Java objects
Retrieving Java objects
Advantages for persistent object storage
Using the directory
Demonstration class: Dir.java
Opening a DataStore directory
DataStore directory contents
Stream details
Directory sort order
Reading a DataStore directory
Closing the DataStore directory
Checking for existing streams
Storing arbitrary files
Demonstration class: ImportFile.java
Creating a file stream
Referencing the connected DataStore
Writing to a file stream
Closing a file stream
Opening, seeking, and reading a file stream
Copying streams
copyStreams parameters
Naming and renaming the streams to copy
Demonstration class: Dup.java
Deleting and undeleting streams
Deleting streams
How DataStore reuses deleted blocks
Undeleting DataStore streams
Demonstration class: DeleteTest.java
Locating directory entries
Using individual directory rows
Packing DataStore files
Chapter 3: DataStore as an embedded database
Using DataExpress for data access
Demonstration class: DxTable.java
Connecting to a DataStore with StorageDataSet
Creating DataStore tables with DataExpress
Using DataStore tables with DataExpress
Transactional DataStores
Enabling transaction support
Creating new transactional DataStores
Adding transaction support to existing DataStores
Opening a transactional DataStore
Changing transaction settings
Transaction log files
Moving transaction log files
Bypassing transaction support
Removing transaction support
Deleting transactional DataStores
Controlling DataStore transactions
Understanding the transaction architecture
Committing and rolling back transactions
Tutorial: Controlling transactions via DataExpress
Step 1: Create a transactional DataStore with test data
Step 2: Create a data module
Step 3: Create a GUI for the DataStore table
Step 4: Add direct transaction control
Step 5: Add control over auto-commit
Using JDBC for data access
Demonstration class: JdbcTable.java
Controlling transactions through JDBC
Chapter 4: Multi-user and remote access to DataStores
Using the JDBC driver for remote access
Running the DataStore JDBC server
Reconfiguring the server
Deploying the DataStore JDBC server
Packaging the server
Starting the server
Creating custom JDBC servers
Multi-user transaction issues
Transaction isolation level
Avoiding blocks and deadlocks
Conserving write transactions
Using read-only transactions
Detecting blocks and deadlocks
Chapter 5: Persisting data in a DataStore
Using DataStore instead of MemoryStore
Using a DataStore with StorageDataSets
Tutorial: Offline editing with DataStore
Understanding how DataStore manages offline data
Restructuring DataStore StorageDataSets
Data type coercions
Persistent column editing
Understanding structure changes
Chapter 6: Using the DataStore Explorer
Launching the DataStore Explorer
Starting the DataStore Explorer from the command line
Basic DataStore operations
Creating a new DataStore file
Opening an existing DataStore file
Setting options for opening DataStore files
Opening a DataStore file that was not closed properly
Viewing DataStore file information
Viewing stream contents
Renaming streams
Deleting streams
Undeleting streams
Copying DataStore streams
Verifying the DataStore
Making the DataStore transactional
Modifying transaction settings
Removing transaction support
Closing DataStore files
DataStore Explorer as a query console
Using DataStore Explorer to manage queries
DataStore Explorer limitations
Creating and maintaining queries and connections
Fetching and editing data
Saving changes and refreshing data
Importing tables and files
Importing text files as tables
Importing files
Executing SQL
DataStore file operations
Packing the DataStore file
Upgrading the DataStore file
Deleting the DataStore file
Chapter 7: Optimizing DataStore applications
General usage recommendations
Closing the DataStore
Controlling how often cache blocks are written to disk
Tuning memory
Miscellaneous performance tips
DataStore companion components
Using data modules
Optimizing transactional applications
Using read-only transactions
Using soft commit mode
Transaction log files
Disabling status logging
Pruning deployed resources
Chapter 8: Troubleshooting
Debugging DataStore applications
Verifying DataStore contents
Problems locating and ordering data
Saving log files
Appendix A: Specifications
DataStore file capacity
DataStore stream names
Appendix B: SQL reference
Lists in syntax notation
Data types
Literals
Keywords
Identifiers
Expressions
Predicates
BETWEEN
IS
LIKE
Functions
CHAR_LENGTH and CHARACTER_LENGTH
CURRENT_DATE, CURRENT_TIME, and CURRENT_TIMESTAMP
EXTRACT
LOWER and UPPER
POSITION
SUBSTRING
TRIM
Statements
CREATE TABLE
ALTER TABLE
CREATE INDEX
SELECT
GROUP BY and HAVING
ORDER BY
INSERT
UPDATE
DELETE
DROP INDEX
DROP TABLE
© 1997, 2000 by INPRISE Corporation, Inc.
All Rights Reserved