Skip to content

Commit eb28fae

Browse files
committed
SODA 1.0.4
SODA 1.0.4
1 parent 8ebcd27 commit eb28fae

Some content is hidden

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

43 files changed

+2351
-839
lines changed

build.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@
7676
<fileset dir="${classes.dir}"/>
7777
<fileset dir="${resources.dir}"/>
7878
<manifest>
79-
<attribute name="Repository-Id" value="XDK_SODA-ORDS3.0.7_LINUX.X64_RELEASE GITHUB"/>
79+
<attribute name="Repository-Id" value="XDK_SODA1.0.4A_LINUX.X64_RELEASE GITHUB"/>
8080
</manifest>
8181
</jar>
8282
</target>

json.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<property name="jsr353.jar" value="${env.SODA_JSR353_JAR}"/>
2323

2424
<property name="xdk.lib.dir" value="${xdk.json.src.dir}/lib"/>
25-
<property name="jar.orajsoda" value="${xdk.lib.dir}/orajsoda-1.0.3.jar"/>
25+
<property name="jar.orajsoda" value="${xdk.lib.dir}/orajsoda-1.0.4.jar"/>
2626

2727
<!--
2828
Generic project layout

resources/oracle/json/parser/Messages.properties

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
33
#
44

55
# Messages used in query-by-example exceptions
@@ -60,7 +60,12 @@
6060
5043="language" should only be specified for a JSON text index ("fields" must be omitted then)
6161
5044="order" value cannot be "{0}". Valid values are "asc", "desc", "1", "-1", 1, or -1.
6262
5058="Scalar required" and "lax" index flags cannot be both set to true.
63-
63+
5059="{0}" cannot be set in conjunction with "{1}".
64+
5060="dataguide" cannot be "{0}". Valid values are "on" or "off".
65+
5061="search_on" cannot be "{0}". Valid values are "none", "text", \
66+
and "text_value".
67+
5062=Items in the value array for {0} cannot be boolean or null.
68+
5063={0} must only be used at the top level, either by itself or under $and.
6469
#
6570
# SQL phase "run-time" errors (5500 to 5999 error code range)
6671
#
Lines changed: 49 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
33
#
44

55
# Messages used in SODA API exceptions
@@ -16,37 +16,43 @@
1616
2006=''since'' and ''until'' arguments cannot both be null.
1717
2007=Collection {0} has no version.
1818
2008={0} argument must be positive.
19-
2009=The total number of keys specified using key(), keys(), or filter() methods \
20-
is {0}, which exceeds the maximum limit of {1}.
19+
2009=The total number of keys specified using key(), keys(), or filter() \
20+
methods is {0}, which exceeds the maximum limit of {1}.
2121
2010={0} iterator returned null, after returning {1} documents.
2222
2011=Invalid argument value "{0}".
2323
2012=A maximum length cannot be set for LOB types.
24-
2013=SecureFile LOB settings cannot be used when the content column type is "{0}"
25-
2014=The last-modified column index can only be set when the last-modified column name is set.
26-
2015=If the assignment method is "SEQUENCE", a key column sequence name must be specified.
24+
2013=SecureFile LOB settings cannot be used when the content column type \
25+
is "{0}"
26+
2014=The last-modified column index can only be set when the last-modified \
27+
column name is set.
28+
2015=If the assignment method is "SEQUENCE", a key column sequence name must \
29+
be specified.
2730
2016=A version method was specified but the version column name is unspecified.
2831
2017=The specified key column type cannot be used with a maximum length.
29-
2018=When using GUID or UUID to assign character type key values, the key column \
30-
length must be 32 bytes or greater.
31-
2019=The collection may not have a media type column unless the content column type is BLOB.
32-
2020=Media type of the document is not "application/json". getContentAsString() \
33-
is only supported for JSON documents.
32+
2018=When using GUID or UUID to assign character type key values, the key \
33+
column length must be 32 bytes or greater.
34+
2019=The collection may not have a media type column unless the content \
35+
column type is BLOB.
36+
2020=Media type of the document is not "application/json". \
37+
getContentAsString() is only supported for JSON documents.
3438
2021={0} set contains null.
35-
2022=The key for the document to replace must be specified using the key() method.
39+
2022=The key for the document to replace must be specified using the \
40+
key() method.
3641
2023={0} argument must be nonnegative.
3742
2024=Invalid index create specification.
3843
2025=Invalid index drop specification.
3944
2026=Collection metadata document has no content or has empty content.
4045
2027=Collection metadata document is not valid JSON.
41-
2028=Collection metadata document is not valid JSON, encoding could not be determined.
46+
2028=Collection metadata document is not valid JSON, encoding could not be \
47+
determined.
4248
2029=IOException occurred while processing collection metadata document.
4349
2030=Invalid value for "{0}" in the collection metadata.
4450
2031=The collection metadata must be a JSON object.
4551
2032=The object key "{0}" is unexpected in the collection metadata.
46-
2033=The collection is not configured with client-assigned keys, but the input document \
47-
has a key.
48-
2034=The collection is not configured with client-assigned key, but {0} iterator returned a \
49-
document with a key, after returning {1} documents.
52+
2033=The collection is not configured with client-assigned keys, but the \
53+
input document has a key.
54+
2034=The collection is not configured with client-assigned key, but {0} \
55+
iterator returned a document with a key, after returning {1} documents.
5056
2035=getCurrentSchema() invoked on the provided JDBC connection returned null.
5157
2036=Invalid projection specification.
5258
2037=The value {0} is not a valid key of type {1}.
@@ -57,13 +63,23 @@ the content column encryption is set to NONE.
5763
2041=Error trying to drop the collection. Make sure all outstanding writes \
5864
to the collection are committed.
5965
2042=This operation requires SODA to start a transaction, \
60-
but there is an error disabling JDBC connection auto-commit.
66+
but there is an error disabling JDBC connection auto-commit.
6167
2043=Projection specification document has no content or has empty content.
6268
2044=Patch specification document has no content or has empty content.
6369
2045=Projection specification should not contain a mix of include \
64-
and exclude rules.
70+
and exclude rules.
6571
2046=Path for an index or order by condition should not contain array steps.
66-
72+
2047=Connection must be an OracleConnection or a wrapper for an OracleConnection.
73+
2048=Language parameter is not supported with a 12.1.0.2 Oracle Database text \
74+
index.
75+
2049=Default functional index mode relies on json_value "null on empty" clause \
76+
supported starting with 12.2.0.1 Oracle Database release. \
77+
"scalarRequired" and "lax" modes are supported on 12.1.0.2. Note: "lax" \
78+
indexes are not used by QBEs, so "scalarRequired" is recommended.
79+
2050="{0}" cannot be specified for a 12.1.0.2 Oracle Database text index.
80+
2051=Operation "{0}" requires transaction management when connection is in auto-commit \
81+
mode, but "avoidTxnManagement" flag is set to true on the OracleDatabase instance. \
82+
Disable auto-commit mode to execute the operation.
6783
#
6884
# Internal errors (2500 to 2999 error code range)
6985
#
@@ -73,14 +89,21 @@ to the collection are committed.
7389
2503=Insert document to collection {0} failed.
7490
2504=Unable to generate UUID-based key.
7591
2505=Document with key {0} has size {1}, which exceeds the 2GB limit.
92+
2506=IDENTITY key assignment requires RETURNING support in SQL.
93+
2507=Error obtaining database version.
7694

7795
#
7896
# Unimplemented errors (3000 to 3499 error code range)
7997
#
8098
3000=Truncation not supported, collection {0} is not table based.
81-
3001=indexAll is not implemented for content columns with type {0}.
82-
3002=indexAll is not implemented for collections with NVARCHAR2 keys.
83-
3003=Java Virtual Machine (JVM) does not support MD5 versioning algorithm. Switch to \
84-
another versioning algorithm.
85-
3004=Java Virtual Machine (JVM) does not support SHA256 versioning algorithm. Switch to \
86-
another versioning algorithm.
99+
3001=JSON search index is not implemented for content columns with type {0}.
100+
3002=JSON search index is not implemented for collections with NVARCHAR2 keys.
101+
3003=Java Virtual Machine (JVM) does not support MD5 versioning algorithm. \
102+
Switch to another versioning algorithm.
103+
3004=Java Virtual Machine (JVM) does not support SHA256 versioning algorithm. \
104+
Switch to another versioning algorithm.
105+
3005=Feature is not implememted.
106+
3006=JSON spatial indexing is not supported on heterogeneous collections.
107+
3007=JSON search indexing is not supported on heterogeneous collections.
108+
3008=JSON functional indexing is not supported on heterogeneous collections.
109+
3009=Query-by-example (QBE) is not supported on heterogeneous collections.

src/oracle/json/parser/IndexColumn.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* Copyright (c) 2014, 2015, Oracle and/or its affiliates.
1+
/* Copyright (c) 2014, 2017, Oracle and/or its affiliates.
22
All rights reserved.*/
33

44
/*
@@ -118,14 +118,11 @@ public int setSqlType(String str)
118118
sqlType = SQLTYPE_NUMBER;
119119
else if (str.equalsIgnoreCase("DATE"))
120120
sqlType = SQLTYPE_DATE;
121-
else if ((str.equalsIgnoreCase("TIMESTAMP")) ||
122-
(str.equalsIgnoreCase("DATETIME")))
121+
else if ((str.equalsIgnoreCase("TIMESTAMP")))
123122
sqlType = SQLTYPE_TIMESTAMP;
124123
else if ((str.equalsIgnoreCase("STRING")) ||
125124
(str.equalsIgnoreCase("VARCHAR")) ||
126-
(str.equalsIgnoreCase("VARCHAR2")) ||
127-
(str.equalsIgnoreCase("NVARCHAR")) ||
128-
(str.equalsIgnoreCase("NVARCHAR2")))
125+
(str.equalsIgnoreCase("VARCHAR2")))
129126
sqlType = SQLTYPE_CHAR;
130127
}
131128
// Set the SQL type only if a valid type was detected

0 commit comments

Comments
 (0)