Skip to content

Commit a3e165a

Browse files
committed
Soda 1.1.4
Soda 1.1.4
1 parent 357fb69 commit a3e165a

File tree

137 files changed

+9616
-2378
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

137 files changed

+9616
-2378
lines changed

README.md

Lines changed: 14 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,14 @@
1-
# SODA 1.1.0
2-
Simple Oracle Document Access (SODA) is an API which allows you to use the Oracle Database as a NoSQL JSON document store. Although SODA is particularly powerful when it comes to JSON data, data of any other type is supported as well.
1+
# SODA 1.0.0
2+
Simple Oracle Document Access (SODA) is a new family of APIs from Oracle that let you create Oracle Database applications at a level of simplicity and ease-of-use typically associated with NoSQL document stores. More specifically, SODA lets you create and store collections of documents in Oracle Database, retrieve them, and query them, without needing to know Structured Query Language (SQL) or how the data in the documents is stored in the database.
33

4-
With the SODA architecture, your data is stored as documents, and documents are organized into collections. Each document contains the actual data, as well as additional information automatically maintained by SODA, such as unique key, last-modified timestamp, version, type, etc. SODA lets you create and store such collections of documents in the Oracle Database, and perform create, retrive, update, and delete (CRUD) operations on these documents, without needing to know Structured Query Language (SQL), or JDBC, or how the data is stored in the database. Essentially SODA provides a virtual NoSQL document store on top of your Oracle Database. Under the covers, a collection is stored as a regular Oracle Database table, and each document is stored as a row in the table. SQL access to the table using standard tools is still allowed.
4+
SODA for Java is a Java library that provides SODA. You can use it to perform create, retrieve, update, and delete (CRUD) operations on documents of any kind, and you can use it to query JSON documents.
55

6-
SODA for Java, hosted in this repository, is a library which implements SODA for use with Java.
7-
SODA for REST, which can be used from any programming language capable of making http requests,
8-
is also available. SODA for REST is not part of this repository, and is released separately as part
9-
of [Oracle Rest Data Serices (ORDS)](http://www.oracle.com/technetwork/developer-tools/rest-data-services/overview/index.html) and
10-
documented [here](https://docs.oracle.com/cd/E56351_01/doc.30/e58123/toc.htm).
11-
12-
Both SODA for REST and SODA for Java are available on the cloud. Please refer to the cloud [documentation](https://docs.oracle.com/en/cloud/paas/exadata-express-cloud/develop-document-store-applications-using-soda.html) for more info.
13-
14-
SODA for Java supports:
15-
16-
* CRUD operations on documents containing data of any type using unique document keys
17-
* CRUD operations on documents containing JSON data using QBEs (simple pattern-like queries-by-example expressed in JSON), or unique document keys
18-
* Bulk read/write operations
19-
* Optimistic locking
20-
* Transactions
21-
* Document collections backed by Oracle Database tables or views
22-
* Mapping of existing Oracle Database tables or views as document collections
23-
24-
SODA for Java is stable, well-documented, and has a comprehensive test suite. We are actively working on adding new features as well.
25-
26-
SODA for Java is built on top of native JSON support in the Oracle Database.
6+
With the SODA architecture, a database contains collections, and each collection contains documents. SODA is designed primarily for working with JSON documents, but a document can be of any Multipurpose Internet Mail Extensions (MIME) type.
277

288
**This is an open source project maintained by Oracle Corp.**
299

10+
SODA is built on top of native JSON support in the Oracle database.
11+
3012
See the [Oracle as a Document Store](http://www.oracle.com/technetwork/database/application-development/oracle-document-store/index.html) page on the Oracle Technology Network for more info.
3113

3214
### Getting started
@@ -77,28 +59,28 @@ while (c.hasNext())
7759

7860
Note that there's no SQL or JDBC programming required. Under the covers, SODA for Java transparently converts operations on document collections into SQL and executes it over JDBC.
7961

80-
See [Getting Started with SODA for Java](https://github.com/oracle/soda-for-java/blob/master/doc/Getting-started-example.md) for a complete introductory example.
62+
See [Getting Started with SODA for Java](https://github.com/oracle/SODA-FOR-JAVA/blob/master/doc/Getting-started-example.md) for a complete introductory example.
8163

8264
### Documentation
8365

84-
* [Introduction to SODA](https://docs.oracle.com/en/database/oracle/oracle-database/18/adsdi/). This book covers subjects common to all SODA impls, such as QBEs and indexing.
85-
* SODA Java documentation is located [here](http://docs.oracle.com/cd/E63251_01/index.htm).
66+
The documentation is located [here](http://docs.oracle.com/cd/E63251_01/index.htm).
8667

87-
The Javadoc is located [here](http://oracle.github.io/soda-for-java).
68+
The Javadoc is located [here](http://oracle.github.io/SODA-FOR-JAVA).
8869

8970
### Build
9071

91-
SODA for Java source code is built with Ant and (optionally) Ivy. See [Building the source code](https://github.com/oracle/soda-for-java/blob/master/doc/Building-source-code.md) for
72+
SODA for Java source code is built with Ant and (optionally) Ivy. See [Building the source code](https://github.com/oracle/SODA-FOR-JAVA/blob/master/doc/Building-source-code.md) for
9273
details.
9374

94-
SODA for Java comes with a testsuite, built with JUnit and driven by Ant. See [Building and running the tests](https://github.com/oracle/soda-for-java/blob/master/doc/Building-and-running-tests.md) for details.
75+
SODA for Java comes with a testsuite, built with JUnit and driven by Ant. See [Building and running the tests]
76+
(https://github.com/oracle/SODA-FOR-JAVA/blob/master/doc/Building-and-running-tests.md) for details.
9577

9678
### Contributions
9779

98-
SODA is an open source project. See [Contributing](https://github.com/oracle/soda-for-java/blob/master/CONTRIBUTING.md) for details.
80+
SODA is an open source project. See [Contributing](https://github.com/oracle/SODA-FOR-JAVA/blob/master/CONTRIBUTING.md) for details.
9981

10082
Oracle gratefully acknowledges the contributions to SODA made by the community.
10183

10284
### Getting in touch
10385

104-
Please open an issue [here](https://github.com/oracle/soda-for-java/issues), or post to the [ORDS, SODA, and JSON in the database forum](https://community.oracle.com/community/database/developer-tools/oracle_rest_data_services/) with SODA-FOR-JAVA in the subject line.
86+
Please open an issue [here](https://github.com/oracle/SODA-FOR-JAVA/issues), or post to the [ORDS, SODA, and JSON in the database forum] (https://community.oracle.com/community/database/developer-tools/oracle_rest_data_services/) with SODA-FOR-JAVA in the subject line.

build.xml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0"?>
22

33
<!--
4-
Copyright (c) 2014, 2015, 2016, 2017 Oracle and/or its affiliates. All rights reserved.
4+
Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
55
66
DESCRIPTION
77
The main ant build for json.
@@ -14,17 +14,22 @@
1414

1515
<import file="json.xml"/>
1616
<import file="getivy.xml"/>
17+
<!--
18+
<import file="ivysettings.xml"/>
19+
-->
1720

1821
<property name="download.deps" value=""/>
1922

2023
<condition property="skip.ivy">
2124
<equals arg1="${download.deps}" arg2="false"/>
2225
</condition>
2326

27+
2428
<target name="all" depends="resolve,compile,archive" description="Compiles the source and creates the jar"/>
2529

2630
<!-- Ivy targets (get dependencies using ivy, generate report, clean ivy cache) -->
2731

32+
<ivy:settings file="ivysettings.xml"/>
2833
<target name="resolve" unless="skip.ivy" depends="init-ivy" description="Retrieves dependencies">
2934
<ivy:retrieve/>
3035
</target>
@@ -59,7 +64,6 @@
5964
use="true"
6065
author="false"
6166
failonerror="true"
62-
executable="${javac.java.home}/bin/javadoc"
6367
/>
6468
</target>
6569

@@ -77,7 +81,7 @@
7781
<fileset dir="${classes.dir}"/>
7882
<fileset dir="${resources.dir}"/>
7983
<manifest>
80-
<attribute name="Repository-Id" value="XDK_SODA1.1.0_LINUX.X64_RELEASE"/>
84+
<attribute name="Repository-Id" value="XDK_SODA1.0.0_LINUX.X64_151009 GITHUB"/>
8185
</manifest>
8286
</jar>
8387
</target>

doc/Building-and-running-tests.md

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
1-
# Building and running the tests
1+
#Building and running the tests
22

33
To build and execute SODA tests, you must have a live Oracle database
4-
12.2.0.1 instance, or 12.1.0.2 instance with patch 20885778 applied.
4+
12.1.0.2 instance, with patch 20885778 applied.
55

6-
The patch is only necessary for the 12.1.0.2 release, and is available from My Oracle Support ([https://support.oracle.com](https://support.oracle.com)). Select tab Patches & Updates. Search for patch number, 20885778 or access it directly at this URL: [https://support.oracle.com/rs?type=patch&id=20885778](https://support.oracle.com/rs?type=patch&id=20885778).
6+
Obtain the patch from My Oracle Support ([https://support.oracle.com](https://support.oracle.com)).
7+
Select tab Patches & Updates. Search for patch number, 20885778 or access it directly at this URL: [https://support.oracle.com/rs?type=patch&id=20885778](https://support.oracle.com/rs?type=patch&id=20885778).
78
Make sure you follow all the installation steps specified in the README.txt file included with
89
the patch, including the post-installation step.
910

1011
The test framework is located in the /test directory under the root SODA directory (the root SODA directory is the one containing LICENSE.txt file). It's built with JUnit and driven by Ant. The actual Java test files are in /test/src/oracle/json/tests/soda. To configure the database instance and the test framework, follow these steps (note that some of them require sysdba access).
1112

1213
**(1)** Build the source code (which includes downloading SODA dependencies), as described
13-
in [Building the source code](https://github.com/oracle/soda-for-java/blob/master/doc/Building-source-code.md). Make sure you perform all steps described in this link. Specifically, make sure that the JAVA_HOME environment variable is set, and that the following jars are located in the /lib directory under the top level SODA directory (the one that contains LICENSE.txt):
14+
in [Building the source code](https://github.com/oracle/SODA-FOR-JAVA/blob/master/doc/Building-source-code.md). Make sure you perform all steps described in this link. Specifically, make sure that the JAVA6HOME environment variable is set, and that the following jars are located in the /lib directory under the top level SODA directory (the one that contains LICENSE.txt):
1415

15-
* JDBC jar
16+
* ojdbc6.jar (the JDBC jar that ships with Oracle database version 12.1.0.2)
1617
* javax.json-1.0.4.jar (JSR353 jar)
1718
* junit-3.8.1.jar (JUnit jar)
1819
* orajsoda.jar (SODA Java jar)
@@ -33,7 +34,7 @@ The directory /path/to/wallet/dir should already exist; if not then you should c
3334

3435
alter system set encryption key authenticated by "mywalletpass";
3536

36-
This creates the wallet with the password mywalletpass and opens it.
37+
This creates the wallet with the password mypass and opens it.
3738

3839
The above steps are needed only once. After the wallet is created and open, it stays open as long as the database is up (unless it is explicitly closed). If the database is restarted, you have to open the wallet with:
3940

@@ -54,13 +55,13 @@ Note: do not use a quoted (case-sensitive) account name.
5455
**(5)** Provide the database instance connection info to the SODA test framework. Edit datasource.properties
5556
located in /test/datasource.properties, under the top level SODA directory. The file has the following contents:
5657

57-
UserName=account
58-
Password=password
59-
Server=oracleHost
60-
Port=oraclePort
61-
DBName=oracleServiceName
58+
UserName=myaccount
59+
Password=mypassword
60+
Server=myoraclehost
61+
Port=myoracleport
62+
DBName=mysid
6263

63-
Replace myaccount and mypassword with the account name and password created in step 3. Replace myoraclehost and myoracleport with the host name and port on which the Oracle instance is running/listening. Replace mydbname with the Oracle Service Name.
64+
Replace myaccount and mypassword with the account name and password created in step 3. Replace myoraclehost and myoracleport with the host name and port on which the Oracle instance is running/listening. Replace mydbname with the Oracle SID.
6465

6566
**(6)** Supply the directory where sqlplus is located to the test framework by setting the SODA_SQLPLUS environment variable. For example, assume sqlplus is located in /oracle/software/bin. Then, assuming you're on Linux and using the C shell (csh) do:
6667

doc/Building-source-code.md

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,30 @@
1-
# Building the source code
1+
#Building the source code
22

3-
SODA is built using Ant with Ivy. Make sure you have Ant 1.9 or above installed and configured.
3+
SODA is built using Ant with Ivy. Make sure you have ant installed and configured.
44
It's not required that Ivy is installed - as long as you have an internet connection,
55
the build process will download Ivy and use it to download SODA dependencies.
66

77
The only SODA dependency that must be manually downloaded is the Oracle JDBC jar that ships with
8-
the Oracle database.
8+
the 12.1.0.2 release of the Oracle database.
99

10-
JDBC jars for use with JDK 6, 7, and 8 ship with Oracle Database 12.1.0.2 and can be downloaded from here:
10+
The JDBC jar can be downloaded from here:
1111

1212
[http://www.oracle.com/technetwork/database/features/jdbc/default-2280470.html](http://www.oracle.com/technetwork/database/features/jdbc/default-2280470.html)
1313

14-
Make sure you pick either ojdbc6.jar (for use with JDK 6), or ojdbc7.jar (for use with JDK 7 and 8),
15-
out of the different flavors available.
14+
Make sure you pick ojdbc6.jar, out of the different flavors available.
1615

17-
If you are using JDK 8 and planning to run SODA with Oracle Database 12.2.0.1, you can alternatively download ojdbc8.jar from here:
18-
19-
http://www.oracle.com/technetwork/database/features/jdbc/jdbc-ucp-122-3110062.html
20-
21-
Copy the downloaded JDBC jar to the /lib directory under the root SODA directory (the root SODA directory is the one containing LICENSE.txt file).
16+
Copy the downloaded ojdbc6.jar to the /lib directory under the root SODA directory (the root SODA directory is the one containing LICENSE.txt file).
2217

2318
Other dependencies will be automatically downloaded by Ivy. You also have the
2419
option to not use Ivy, and to download the dependencies manually (see "Building without Ivy" below).
2520

2621
The following instructions require setting various environment variables. They assume you're on Linux, and using the C Shell (csh). On other OSes, you would set environment variables analogously, using a mechanism appropriate for your specific operating system.
2722

28-
Set the JAVA_HOME environment variable to the JDK install directory. At a minimum, JDK 6 is required. For example, assuming you are using JDK 8 installed under /jdk8, and you're using the C Shell (csh) on Linux, do:
23+
SODA builds using Java 6. Set the JAVA6HOME environment
24+
variable to the JDK install directory. For example, assuming JDK6 is installed
25+
under /jdk6, and you're using the C Shell (csh) on Linux, do:
2926

30-
setenv JAVA_HOME /jdk8
27+
setenv JAVA6HOME /jdk6
3128

3229
### Building with Ivy
3330

0 commit comments

Comments
 (0)