Initial implementation for GET_JSON and SET_JSON functions
Add shortcut for back of JSON array
Overload old FIELD function, update path syntax
Small fixes for new path syntax
Accept double escaping and move on
TestFunctionsForVoltDBSuite: deleted test methods related to JSON, which
have been moved to new TestFunctionsForJSON class, including: loadJS1,
testFIELDFunction, testARRAY_ELEMENTFunction, testARRAY_LENGTHFunction,
testFunctionsWithInvalidJSON, and portions of suite() related to JSON.
Added new test class TestFunctionsForJSON, including new methods
testFIELDFunctionWithDotNotation, testFIELDFunctionWithIndexNotation &
testFIELDFunctionWithDotAndIndexNotation (all to test ENG-6620); plus
methods moved from TestFunctionsForVoltDBSuite: loadJS1,
testFIELDFunction, testARRAY_ELEMENTFunction, testARRAY_LENGTHFunction,
testFunctionsWithInvalidJSON.
Trivial: just added missing spaces after commas, for readability.
TestFunctionsForJSON: added new test methods: testSET_FIELDFunction,
testSET_FIELDFunctionWithDotNotation,
testSET_FIELDFunctionWithIndexNotation,
testSET_FIELDFunctionWithDotAndIndexNotation; and updated suite(), to
include one extra Stored Proc, “UpdateSetFieldProc”, which uses the
SET_FIELD function.
TestFunctionsForJSON: added new methods testFIELDFunctionWithNumericData
& testSET_FIELDFunctionWithNumericData, to test the use of numeric
(floating point) data in FIELD and SET_FIELD functions; added tests of a
dot (.) character, and bracket [] characters, not used as dotted path or
array index notation, and therefore escaped using a backslash (\), to
existing test methods (testFIELDFunctionWithDotNotation,
testFIELDFunctionWithIndexNotation,
testSET_FIELDFunctionWithDotNotation, testSET_FIELDFunctionWithIndexNotation);
also improved existing test methods to mix up integer and string tests
better (dotted path and array index notation tests now each test both).
Merge branch 'master' into more-tests-for-alex-innovation-json

Conflicts:
	src/ee/expressions/functionexpression.cpp
	src/ee/expressions/functionexpression.h
	src/hsqldb19b3/org/hsqldb_voltpatches/FunctionForVoltDB.java
	tests/frontend/org/voltdb/regressionsuites/TestFunctionsForVoltDBSuite.java
TestFunctionsForJSON: added new test methods
testFIELDFunctionWithInvalidIndexNotation &
testSET_FIELDFunctionWithInvalidIndexNotation; added a few tests to
testFIELDFunctionWithDotNotation & testFIELDFunctionWithIndexNotation,
for dot/index notation used on a primitive (or an array for the former,
or object for the latter); also, added useful (private) methods:
testProcWithValidJSON (2 versions) & testProcWithInvalidJSON; plus, new
procedure GetDocFromId, which is useful for debugging.
Tweak error handling in FIELD SQL function.
Temporarily disable SET_FIELD at the parser
TestFunctionsForJSON: updated testFIELDFunctionWithDotNotation &
testFIELDFunctionWithIndexNotation, improving tests of primitive values
(& arrays & objects), using dot & index notation, respectively; updated
testFIELDFunction, adding tests for (Java/SQL) null values; updated
testSET_FIELDFunctionWithIndexNotation, adding tests of arr[-1]
notation; insert a few new rows into the DB, for degenerative JSON
documents (e.g. “true” or “42”); simplified some code, making it easier
to add new rows to the database, without making tests fail; added
(private) getDocFromId method (which calls GetDocFromId stored proc),
called from testFIELDFunction when DEBUG is true; and removed all tab
characters.
Merge branch 'more-tests-for-alex-innovation-json' of https://github.com/VoltDB/voltdb.git into more-tests-for-alex-innovation-json
TestFunctionsForJSON: “commented out” all SET_FIELD tests, since it is
currently disabled (for 4.7); added testMinimalJSONdocuments, for
testing minimal JSON documents (e.g. “42”, without the quotes); added a
couple of extra rows, and tests for them in testFIELDFunction, with
{“null”: “foo”} and {“foo”: “null”} (suitably escaped); added, to
testFIELDFunctionWithIndexNotation, tests for index notation with no
name specified; updated testFIELDFunctionWithInvalidIndexNotation, with
new expected exception error messages; fixed testProcWithInvalidJSON to
handle null parameters; and removed NON_NULL_TABLE, which is no longer
used.
Merge pull request #1542 from VoltDB/more-tests-for-alex-innovation-json

More tests for alex innovation json