Skip to content

Commit 4ed22ec

Browse files
author
Sergejs Vinniks
committed
Added FORCE, added support for 32k long values
1 parent a295f17 commit 4ed22ec

25 files changed

+83
-85
lines changed

install/install.sql

+5-5
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,6 @@
4040
@@types/t_json_mismatches.tps
4141
/
4242

43-
@@packages/json_parser.pks
44-
/
45-
@@packages/json_parser.pkb
46-
/
47-
4843
@@functions/to_index.fnc
4944
/
5045

@@ -61,6 +56,11 @@
6156
@@data/json_values.sql
6257
/
6358

59+
@@packages/json_parser.pks
60+
/
61+
@@packages/json_parser.pkb
62+
/
63+
6464
@@packages/json_core.pks
6565
/
6666
@@packages/json_core.pkb

install/uninstall.sql

+22-22
Original file line numberDiff line numberDiff line change
@@ -19,29 +19,29 @@ DROP PACKAGE json_store
1919

2020
DROP FUNCTION persistent_json_table
2121
/
22-
DROP TYPE t_persistent_json_table
22+
DROP TYPE t_persistent_json_table FORCE
2323
/
24-
DROP TYPE t_json_table
24+
DROP TYPE t_json_table FORCE
2525
/
2626

27-
DROP TYPE t_persistent_json
27+
DROP TYPE t_persistent_json FORCE
2828
/
29-
DROP TYPE t_transient_json
29+
DROP TYPE t_transient_json FORCE
3030
/
3131

32-
DROP TYPE t_json_filter
32+
DROP TYPE t_json_filter FORCE
3333
/
34-
DROP PACKAGE json_filters
34+
DROP PACKAGE json_filters
3535
/
36-
DROP TYPE t_json_properties
36+
DROP TYPE t_json_properties FORCE
3737
/
38-
DROP TYPE t_json_property
38+
DROP TYPE t_json_property FORCE
3939
/
4040

41-
DROP TYPE t_json
41+
DROP TYPE t_json FORCE
4242
/
4343

44-
DROP TYPE t_json_builder
44+
DROP TYPE t_json_builder FORCE
4545
/
4646
DROP PACKAGE json_builders
4747
/
@@ -66,28 +66,28 @@ DROP FUNCTION to_index
6666
DROP PACKAGE json_parser
6767
/
6868

69-
DROP TYPE t_json_mismatches
69+
DROP TYPE t_json_mismatches FORCE
7070
/
71-
DROP TYPE t_json_mismatch
71+
DROP TYPE t_json_mismatch FORCE
7272
/
7373

74-
DROP TYPE t_20_value_table
74+
DROP TYPE t_20_value_table FORCE
75+
/
76+
DROP TYPE t_15_value_table FORCE
7577
/
76-
DROP TYPE t_15_value_table
78+
DROP TYPE t_10_value_table FORCE
7779
/
78-
DROP TYPE t_10_value_table
79-
/
80-
DROP TYPE t_5_value_table
80+
DROP TYPE t_5_value_table FORCE
8181
/
8282

83-
DROP TYPE t_20_value_row
83+
DROP TYPE t_20_value_row FORCE
8484
/
85-
DROP TYPE t_15_value_row
85+
DROP TYPE t_15_value_row FORCE
8686
/
87-
DROP TYPE t_10_value_row
87+
DROP TYPE t_10_value_row FORCE
8888
/
89-
DROP TYPE t_5_value_row
89+
DROP TYPE t_5_value_row FORCE
9090
/
9191

92-
DROP TYPE bind
92+
DROP TYPE bind FORCE
9393
/

src/indexes/jsvl_i3.idx

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@
1414
limitations under the License.
1515
*/
1616

17-
CREATE INDEX jsvl_i3 ON json_values(UPPER(TRIM(value)))
17+
CREATE INDEX jsvl_i3 ON json_values(UPPER(TRIM(SUBSTR(value, 1, 1000))));

src/packages/json_parser.pkb

+2-4
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ CREATE OR REPLACE PACKAGE BODY json_parser IS
1616
limitations under the License.
1717
*/
1818

19-
TYPE t_chars IS TABLE OF CHAR;
20-
2119
PROCEDURE register_messages IS
2220
BEGIN
2321
default_message_resolver.register_message('JSN-00001', 'Unexpected character ":1"!');
@@ -30,14 +28,14 @@ CREATE OR REPLACE PACKAGE BODY json_parser IS
3028
RETURN t_varchars IS
3129

3230
v_state VARCHAR2(30);
33-
v_value VARCHAR2(4000);
31+
v_value json_values.value%TYPE; -- If EXTENDED VARCHAR2 max. size is enabled, this will be up to 32766!
3432
v_name BOOLEAN;
3533
v_character_code VARCHAR2(4);
3634

3735
v_context_stack t_varchars;
3836
v_element_i_stack t_numbers;
3937

40-
v_string VARCHAR2(32000);
38+
v_string VARCHAR2(32767);
4139
v_char CHAR;
4240

4341
v_parse_events t_varchars;

src/tables/json_values.tab

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ CREATE TABLE json_values (
1919
parent_id NUMBER,
2020
type CHAR,
2121
name VARCHAR2(4000),
22-
value VARCHAR2(4000),
22+
value VARCHAR2(32766),
2323
locked CHAR,
2424
CONSTRAINT jsvl_pk PRIMARY KEY(id),
2525
CONSTRAINT jsvl_jsvl_fk FOREIGN KEY(parent_id) REFERENCES json_values(id) ON DELETE CASCADE

src/types/t_10_value_row.tps

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CREATE OR REPLACE TYPE t_10_value_row IS OBJECT (
1+
CREATE OR REPLACE TYPE t_10_value_row FORCE IS OBJECT (
22
value_1 VARCHAR2(4000),
33
value_2 VARCHAR2(4000),
44
value_3 VARCHAR2(4000),

src/types/t_10_value_table.tps

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
CREATE OR REPLACE TYPE t_10_value_table IS
1+
CREATE OR REPLACE TYPE t_10_value_table FORCE IS
22
TABLE OF t_10_value_row

src/types/t_15_value_row.tps

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CREATE OR REPLACE TYPE t_15_value_row IS OBJECT (
1+
CREATE OR REPLACE TYPE t_15_value_row FORCE IS OBJECT (
22
value_1 VARCHAR2(4000),
33
value_2 VARCHAR2(4000),
44
value_3 VARCHAR2(4000),

src/types/t_15_value_table.tps

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
CREATE OR REPLACE TYPE t_15_value_table IS
1+
CREATE OR REPLACE TYPE t_15_value_table FORCE IS
22
TABLE OF t_15_value_row

src/types/t_20_value_row.tps

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CREATE OR REPLACE TYPE t_20_value_row IS OBJECT (
1+
CREATE OR REPLACE TYPE t_20_value_row FORCE IS OBJECT (
22
value_1 VARCHAR2(4000),
33
value_2 VARCHAR2(4000),
44
value_3 VARCHAR2(4000),

src/types/t_20_value_table.tps

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
CREATE OR REPLACE TYPE t_20_value_table IS
1+
CREATE OR REPLACE TYPE t_20_value_table FORCE IS
22
TABLE OF t_20_value_row

src/types/t_5_value_row.tps

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CREATE OR REPLACE TYPE t_5_value_row IS OBJECT (
1+
CREATE OR REPLACE TYPE t_5_value_row FORCE IS OBJECT (
22
value_1 VARCHAR2(4000),
33
value_2 VARCHAR2(4000),
44
value_3 VARCHAR2(4000),

src/types/t_5_value_table.tps

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
CREATE OR REPLACE TYPE t_5_value_table IS
1+
CREATE OR REPLACE TYPE t_5_value_table FORCE IS
22
TABLE OF t_5_value_row

src/types/t_json.tps

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CREATE OR REPLACE TYPE t_json IS OBJECT (
1+
CREATE OR REPLACE TYPE t_json FORCE IS OBJECT (
22

33
/*
44
Copyright 2018 Sergejs Vinniks

src/types/t_json_builder.tps

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CREATE OR REPLACE TYPE t_json_builder IS OBJECT (
1+
CREATE OR REPLACE TYPE t_json_builder FORCE IS OBJECT (
22

33
/*
44
Copyright 2018 Sergejs Vinniks

src/types/t_json_filter.tps

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CREATE OR REPLACE TYPE t_json_filter IS OBJECT (
1+
CREATE OR REPLACE TYPE t_json_filter FORCE IS OBJECT (
22

33
/*
44
Copyright 2018 Sergejs Vinniks

src/types/t_json_mismatch.tps

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CREATE OR REPLACE TYPE t_json_mismatch IS OBJECT (
1+
CREATE OR REPLACE TYPE t_json_mismatch FORCE IS OBJECT (
22
path t_varchars,
33
mismatch VARCHAR2(2)
44
)

src/types/t_json_mismatches.tps

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
CREATE OR REPLACE TYPE t_json_mismatches IS TABLE OF t_json_mismatch
1+
CREATE OR REPLACE TYPE t_json_mismatches FORCE IS TABLE OF t_json_mismatch

src/types/t_json_properties.tps

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@
1414
limitations under the License.
1515
*/
1616

17-
CREATE OR REPLACE TYPE t_json_properties IS
17+
CREATE OR REPLACE TYPE t_json_properties FORCE IS
1818
TABLE OF t_json_property

src/types/t_json_property.tps

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CREATE OR REPLACE TYPE t_json_property IS OBJECT (
1+
CREATE OR REPLACE TYPE t_json_property FORCE IS OBJECT (
22

33
/*
44
Copyright 2018 Sergejs Vinniks

src/types/t_json_table.tps

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CREATE OR REPLACE TYPE t_json_table IS OBJECT (
1+
CREATE OR REPLACE TYPE t_json_table FORCE IS OBJECT (
22

33
/*
44
Copyright 2018 Sergejs Vinniks

src/types/t_persistent_json.tps

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CREATE OR REPLACE TYPE t_persistent_json UNDER t_json (
1+
CREATE OR REPLACE TYPE t_persistent_json FORCE UNDER t_json (
22

33
/*
44
Copyright 2018 Sergejs Vinniks

src/types/t_persistent_json_table.tps

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CREATE OR REPLACE TYPE t_persistent_json_table UNDER t_json_table (
1+
CREATE OR REPLACE TYPE t_persistent_json_table FORCE UNDER t_json_table (
22

33
/*
44
Copyright 2018 Sergejs Vinniks

src/types/t_transient_json.tps

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CREATE OR REPLACE TYPE t_transient_json UNDER t_json (
1+
CREATE OR REPLACE TYPE t_transient_json FORCE UNDER t_json (
22

33
/*
44
Copyright 2018 Sergejs Vinniks

0 commit comments

Comments
 (0)