This is an automated email from the ASF dual-hosted git repository. mblow pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/asterixdb.git
commit d6814e6d3e3c1e6c9afa33208051e20d23286481 Merge: fe51374 b8df1c5 Author: Michael Blow <[email protected]> AuthorDate: Fri Nov 8 21:04:51 2019 -0500 Merge branch 'gerrit/stabilization-f69489' into 'gerrit/mad-hatter' Change-Id: I831c9c7c37ecf757ebaa707be5c394105302da13 asterixdb/asterix-app/pom.xml | 2 +- .../tiny-social-example.1.ddl.sqlpp | 9 +++++++ .../tiny-social-example.2.ddl.sqlpp | 2 ++ .../tiny-social-example.3.update.sqlpp | 1 + .../tiny-social-example.5.query.sqlpp} | 11 +++----- ... tiny-social-example-only-records.01.ddl.sqlpp} | 9 +++++++ ... tiny-social-example-only-records.02.ddl.sqlpp} | 2 ++ ...ny-social-example-only-records.03.update.sqlpp} | 2 ++ ...iny-social-example-only-records.04.query.sqlpp} | 0 ...iny-social-example-only-records.05.query.sqlpp} | 0 ...iny-social-example-only-records.06.query.sqlpp} | 0 ...iny-social-example-only-records.07.query.sqlpp} | 0 ...iny-social-example-only-records.08.query.sqlpp} | 0 ...iny-social-example-only-records.09.query.sqlpp} | 0 ...iny-social-example-only-records.10.query.sqlpp} | 8 +++--- .../object_length/object_length.1.ddl.sqlpp | 7 ++++++ .../object_length/object_length.2.update.sqlpp | 2 ++ .../object_length/object_length.3.query.sqlpp | 6 +++++ .../objects/object_names/object_names.1.ddl.sqlpp | 7 ++++++ .../object_names/object_names.2.update.sqlpp | 2 ++ .../object_names/object_names.3.query.sqlpp | 7 ++++++ .../object_pairs-2/object_pairs.1.ddl.sqlpp | 12 +++++++++ .../object_pairs-2/object_pairs.2.update.sqlpp | 2 ++ .../object_pairs.4.query.sqlpp} | 10 ++++---- .../object_remove/object_remove.1.ddl.sqlpp | 7 ++++++ .../object_remove/object_remove.2.update.sqlpp | 2 ++ .../object_remove/object_remove.3.query.sqlpp | 13 ++++++++++ .../object_rename/object_rename.1.ddl.sqlpp | 7 ++++++ .../object_rename/object_rename.2.update.sqlpp | 2 ++ .../object_rename/object_rename.3.query.sqlpp | 8 ++++++ .../object_unwrap/object_unwarp.1.ddl.sqlpp | 13 +++++++++- .../object_unwrap/object_unwarp.2.update.sqlpp | 4 ++- ...arp.5.ddl.sqlpp => object_unwarp.5.query.sqlpp} | 5 +++- ...nwarp.5.ddl.sqlpp => object_unwarp.6.ddl.sqlpp} | 0 .../object_values/object_values.1.ddl.sqlpp | 7 ++++++ .../object_values/object_values.2.update.sqlpp | 2 ++ .../object_values/object_values.3.query.sqlpp | 8 ++++++ .../tiny-social-example/tiny-social-example.5.adm | 1 + ...adm => tiny-social-example-only-records.04.adm} | 0 ...adm => tiny-social-example-only-records.05.adm} | 0 ...adm => tiny-social-example-only-records.06.adm} | 0 ...adm => tiny-social-example-only-records.07.adm} | 0 ...adm => tiny-social-example-only-records.08.adm} | 0 ...adm => tiny-social-example-only-records.09.adm} | 0 .../tiny-social-example-only-records.10.adm | 1 + .../objects/object_length/object_length.3.adm | 2 +- .../objects/object_names/object_names.3.adm | 2 +- .../objects/object_pairs-2/object_pairs-2.2.adm | 3 +++ .../objects/object_remove/object_remove.3.adm | 2 +- .../objects/object_rename/object_rename.3.adm | 2 +- .../objects/object_unwrap/object_unwrap.5.adm | 1 + .../objects/object_values/object_values.3.adm | 2 +- .../tiny-social-example/tiny-social-example.1.ast | 11 ++++++++ .../tiny-social-example/tiny-social-example.2.ast | 1 + .../tiny-social-example/tiny-social-example.5.ast | 25 +++++++++++++++++++ .../tiny-social-example-only-records.1.ast | 11 ++++++++ .../tiny-social-example-only-records.10.ast | 24 ++++++++++++++++++ .../tiny-social-example-only-records.2.ast | 3 ++- asterixdb/asterix-external-data/pom.xml | 2 +- .../record-manager-generator-maven-plugin/pom.xml | 1 - asterixdb/asterix-runtime/pom.xml | 2 +- .../runtime/functions/FunctionTypeInferers.java | 3 ++- asterixdb/pom.xml | 25 ++++++++----------- .../appended-resources/supplemental-models.xml | 20 +++++++-------- ....com_netty_netty_netty-4.1.42.Final_NOTICE.txt} | 24 +++++++++++++++--- .../www.eclipse.org_org_documents_edl-v10.php.txt | 12 +++++++++ .../license-automation-plugin/pom.xml | 11 ++++---- .../hyracks/hyracks-maven-plugins/pom.xml | 2 +- hyracks-fullstack/pom.xml | 29 +++++++++++++--------- 69 files changed, 322 insertions(+), 79 deletions(-) diff --cc asterixdb/asterix-runtime/pom.xml index 196a52f,016d65c..a226991 --- a/asterixdb/asterix-runtime/pom.xml +++ b/asterixdb/asterix-runtime/pom.xml @@@ -149,11 -194,7 +149,11 @@@ <dependency> <groupId>it.unimi.dsi</groupId> <artifactId>fastutil</artifactId> - <version>8.2.2</version> + <version>8.3.0</version> </dependency> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-collections4</artifactId> + </dependency> </dependencies> </project> diff --cc asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionTypeInferers.java index 5dc56dd,a002858..1680e54 --- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionTypeInferers.java +++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionTypeInferers.java @@@ -180,10 -160,12 +180,11 @@@ public final class FunctionTypeInferer listFieldPath.add(((AString) fieldPath.getItem(i)).getStringValue()); } + // TODO(ali): I guess this may not work as well if t happens to be UNION(record), not sure if it ever does switch (t.getTypeTag()) { - case OBJECT: { + case OBJECT: fd.setImmutableStates(t, listFieldPath); break; - } case ANY: fd.setImmutableStates(RecordUtil.FULLY_OPEN_RECORD_TYPE, listFieldPath); break; @@@ -210,16 -192,18 +211,16 @@@ public void infer(ILogicalExpression expr, IFunctionDescriptor fd, IVariableTypeEnvironment context, CompilerProperties compilerProps) throws AlgebricksException { AbstractFunctionCallExpression fce = (AbstractFunctionCallExpression) expr; - IAType t = (IAType) context.getType(fce.getArguments().get(0).getValue()); + IAType t = TypeComputeUtils.getActualType((IAType) context.getType(fce.getArguments().get(0).getValue())); ATypeTag typeTag = t.getTypeTag(); switch (typeTag) { - case OBJECT: { + case OBJECT: fd.setImmutableStates(t); break; - } - case ANY: { + case ANY: fd.setImmutableStates(RecordUtil.FULLY_OPEN_RECORD_TYPE); break; - } - default: { + default: if (strict) { throw new NotImplementedException(fd.getIdentifier().getName() + " for data of type " + t); } else {
