asterixdb-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jianf...@apache.org
Subject [15/15] incubator-asterixdb git commit: ASTERIXDB-1102: VarSize Encoding to store length of String and ByteArray
Date Thu, 29 Oct 2015 04:45:06 GMT
ASTERIXDB-1102: VarSize Encoding to store length of String and ByteArray

This patch is to change the encoding format that stores the length value
of
the variable length type (e.g. String, ByteArray) from fix-size encoding
(2bytes) to variable-size encoding ( 1 to 5bytes)
It will solve the issue 1102 to enable us to store a String that longer
than 64K. Also for the common case of storing the short string ( <=
127), it will save one byte per string.

Some important changes include:
1. The UTF8StringSerDer and ByteArraySerDer is not Singleton instance
any more. I need some state to speedup the serialization and avoid the
object creatation. Luckily, 99% percent of Serializer were used as
factory way. The other 1% has been fixed.

A separate Test support, the ExcutionTest now can produce the only.xml
which stores the previous failed runtime test.xml. It can speedup the
debug process.

Change-Id: I41fff780f5c071742ef10129d83c8f945d5886d7
Reviewed-on: https://asterix-gerrit.ics.uci.edu/450
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Jianfeng Jia <jianfeng.jia@gmail.com>


Project: http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/commit/742aba85
Tree: http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/tree/742aba85
Diff: http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/diff/742aba85

Branch: refs/heads/master
Commit: 742aba85e00033d4561e194358d0bcd53c775b3f
Parents: 1eeb3d2
Author: JavierJia <jianfeng.jia@gmail.com>
Authored: Wed Oct 28 18:21:50 2015 -0700
Committer: Jianfeng Jia <jianfeng.jia@gmail.com>
Committed: Wed Oct 28 21:41:21 2015 -0700

----------------------------------------------------------------------
 .../optimizer/rules/am/AccessMethodUtils.java   |    2 +-
 .../rules/am/InvertedIndexAccessMethod.java     |    8 +-
 .../data/big-object/order.tbl.verylong.big      | 1500 ++++++
 .../file/ExternalIndexingOperations.java        |   11 +-
 .../asterix/test/runtime/ExecutionTest.java     |   45 +-
 .../src/test/resources/runtimets/only.xml       |   10 +-
 .../big_object_groupby.3.query.aql              |    2 +-
 .../big_object_load/big_object_load.1.ddl.aql   |   84 +
 .../big_object_load.2.update.aql                |   25 +
 .../big_object_load/big_object_load.3.query.aql |   34 +
 .../queries/binary/find/find.3.query.aql        |    2 +-
 .../binary/subbinary/subbinary_01.3.query.aql   |    2 +-
 .../queries/boolean/and_01/and_01.3.query.aql   |    4 +-
 ...e-from-loaded-dataset-with-index.5.query.aql |    1 +
 ...nto-loaded-dataset-with-index_02.5.query.aql |    1 +
 .../string/end-with1/end-with1.1.ddl.aql        |   21 -
 .../string/end-with1/end-with1.2.update.aql     |   18 -
 .../string/end-with1/end-with1.3.query.aql      |   22 -
 .../string/end-with2/end-with2.1.ddl.aql        |   21 -
 .../string/end-with2/end-with2.2.update.aql     |   18 -
 .../string/end-with2/end-with2.3.query.aql      |   22 -
 .../string/end-with3/end-with3.1.ddl.aql        |   21 -
 .../string/end-with3/end-with3.2.update.aql     |   18 -
 .../string/end-with3/end-with3.3.query.aql      |   22 -
 .../string/end-with4/end-with4.1.ddl.aql        |   21 -
 .../string/end-with4/end-with4.2.update.aql     |   18 -
 .../string/end-with4/end-with4.3.query.aql      |   22 -
 .../string/end-with5/end-with5.1.ddl.aql        |   21 -
 .../string/end-with5/end-with5.2.update.aql     |   18 -
 .../string/end-with5/end-with5.3.query.aql      |   28 -
 .../string/ends-with1/ends-with1.1.ddl.aql      |   21 +
 .../string/ends-with1/ends-with1.2.update.aql   |   18 +
 .../string/ends-with1/ends-with1.3.query.aql    |   22 +
 .../string/ends-with2/ends-with2.1.ddl.aql      |   21 +
 .../string/ends-with2/ends-with2.2.update.aql   |   18 +
 .../string/ends-with2/ends-with2.3.query.aql    |   22 +
 .../string/ends-with3/ends-with3.1.ddl.aql      |   21 +
 .../string/ends-with3/ends-with3.2.update.aql   |   18 +
 .../string/ends-with3/ends-with3.3.query.aql    |   22 +
 .../string/ends-with4/ends-with4.1.ddl.aql      |   21 +
 .../string/ends-with4/ends-with4.2.update.aql   |   18 +
 .../string/ends-with4/ends-with4.3.query.aql    |   22 +
 .../string/ends-with5/ends-with5.1.ddl.aql      |   21 +
 .../string/ends-with5/ends-with5.2.update.aql   |   18 +
 .../string/ends-with5/ends-with5.3.query.aql    |   28 +
 .../string/ends-with6/ends-with6.1.ddl.aql      |   21 +
 .../string/ends-with6/ends-with6.2.update.aql   |   18 +
 .../string/ends-with6/ends-with6.3.query.aql    |   23 +
 .../string/ends-with7/ends-with7.1.ddl.aql      |   25 +
 .../string/ends-with7/ends-with7.2.update.aql   |   25 +
 .../string/ends-with7/ends-with7.3.query.aql    |   33 +
 .../string/ends-with8/ends-with8.1.ddl.aql      |   37 +
 .../string/ends-with8/ends-with8.2.update.aql   |   36 +
 .../string/ends-with8/ends-with8.3.query.aql    |   34 +
 .../string/ends-with_01/ends-with_01.1.ddl.aql  |   21 -
 .../ends-with_01/ends-with_01.2.update.aql      |   18 -
 .../ends-with_01/ends-with_01.3.query.aql       |   23 -
 .../string/endwith02/endwith02.1.ddl.aql        |   25 -
 .../string/endwith02/endwith02.2.update.aql     |   25 -
 .../string/endwith02/endwith02.3.query.aql      |   33 -
 .../string/endwith03/endwith03.1.ddl.aql        |   37 -
 .../string/endwith03/endwith03.2.update.aql     |   36 -
 .../string/endwith03/endwith03.3.query.aql      |   34 -
 .../string/matches11/matches11.3.query.aql      |    4 +-
 .../string/start-with1/start-with1.1.ddl.aql    |   21 -
 .../string/start-with1/start-with1.2.update.aql |   18 -
 .../string/start-with1/start-with1.3.query.aql  |   22 -
 .../string/start-with2/start-with2.1.ddl.aql    |   21 -
 .../string/start-with2/start-with2.2.update.aql |   18 -
 .../string/start-with2/start-with2.3.query.aql  |   22 -
 .../string/start-with3/start-with3.1.ddl.aql    |   21 -
 .../string/start-with3/start-with3.2.update.aql |   18 -
 .../string/start-with3/start-with3.3.query.aql  |   22 -
 .../string/start-with4/start-with4.1.ddl.aql    |   21 -
 .../string/start-with4/start-with4.2.update.aql |   18 -
 .../string/start-with4/start-with4.3.query.aql  |   28 -
 .../string/start-with5/start-with5.1.ddl.aql    |   21 -
 .../string/start-with5/start-with5.2.update.aql |   18 -
 .../string/start-with5/start-with5.3.query.aql  |   22 -
 .../string/starts-with1/starts-with1.1.ddl.aql  |   21 +
 .../starts-with1/starts-with1.2.update.aql      |   18 +
 .../starts-with1/starts-with1.3.query.aql       |   22 +
 .../string/starts-with2/starts-with2.1.ddl.aql  |   21 +
 .../starts-with2/starts-with2.2.update.aql      |   18 +
 .../starts-with2/starts-with2.3.query.aql       |   22 +
 .../string/starts-with3/starts-with3.1.ddl.aql  |   21 +
 .../starts-with3/starts-with3.2.update.aql      |   18 +
 .../starts-with3/starts-with3.3.query.aql       |   22 +
 .../string/starts-with4/starts-with4.1.ddl.aql  |   21 +
 .../starts-with4/starts-with4.2.update.aql      |   18 +
 .../starts-with4/starts-with4.3.query.aql       |   28 +
 .../string/starts-with5/starts-with5.1.ddl.aql  |   21 +
 .../starts-with5/starts-with5.2.update.aql      |   18 +
 .../starts-with5/starts-with5.3.query.aql       |   22 +
 .../string/starts-with6/starts-with6.1.ddl.aql  |   21 +
 .../starts-with6/starts-with6.2.update.aql      |   18 +
 .../starts-with6/starts-with6.3.query.aql       |   23 +
 .../string/starts-with7/starts-with7.1.ddl.aql  |   26 +
 .../starts-with7/starts-with7.2.update.aql      |   25 +
 .../starts-with7/starts-with7.3.query.aql       |   44 +
 .../string/starts-with8/starts-with8.1.ddl.aql  |   38 +
 .../starts-with8/starts-with8.2.update.aql      |   37 +
 .../starts-with8/starts-with8.3.query.aql       |   35 +
 .../starts-with_01/starts-with_01.1.ddl.aql     |   21 -
 .../starts-with_01/starts-with_01.2.update.aql  |   18 -
 .../starts-with_01/starts-with_01.3.query.aql   |   23 -
 .../string/startwith02/startwith02.1.ddl.aql    |   26 -
 .../string/startwith02/startwith02.2.update.aql |   25 -
 .../string/startwith02/startwith02.3.query.aql  |   42 -
 .../string/startwith03/startwith03.1.ddl.aql    |   38 -
 .../string/startwith03/startwith03.2.update.aql |   37 -
 .../string/startwith03/startwith03.3.query.aql  |   35 -
 .../varlen-encoding/varlen-encoding.1.ddl.aql   |   18 +
 .../varlen-encoding.2.update.aql                |   18 +
 .../varlen-encoding/varlen-encoding.3.query.aql |   35 +
 .../big_object_groupby-2/groupby.1.adm          | 4906 +++++++++---------
 .../big-object/big_object_load/load.1.adm       | 1501 ++++++
 .../runtimets/results/binary/find/find.1.adm    |    2 +-
 .../results/binary/subbinary/subbinary.1.adm    |    2 +-
 .../delete-from-loaded-dataset-with-index.1.adm |    4 +-
 ...sert-into-loaded-dataset-with-index_02.1.adm |    2 +-
 .../results/string/end-with1/end-with1.1.adm    |    2 -
 .../results/string/end-with2/end-with2.1.adm    |    2 -
 .../results/string/end-with3/end-with3.1.adm    |    2 -
 .../results/string/end-with4/end-with4.1.adm    |    2 -
 .../results/string/end-with5/end-with5.1.adm    |    2 -
 .../results/string/ends-with1/ends-with1.1.adm  |    2 +
 .../results/string/ends-with2/ends-with2.1.adm  |    2 +
 .../results/string/ends-with3/ends-with3.1.adm  |    2 +
 .../results/string/ends-with4/ends-with4.1.adm  |    2 +
 .../results/string/ends-with5/ends-with5.1.adm  |    2 +
 .../results/string/ends-with6/ends-with6.1.adm  |    2 +
 .../results/string/ends-with7/ends-with7.1.adm  |    7 +
 .../results/string/ends-with8/ends-with8.1.adm  |    5 +
 .../string/ends-with_01/ends-with_01.1.adm      |    2 -
 .../results/string/endwith02/endwith02.1.adm    |    7 -
 .../results/string/endwith03/endwith03.1.adm    |    5 -
 .../results/string/matches11/matches11.1.adm    |    5 +-
 .../string/matchesnull/matchesnull.1.adm        |    2 +-
 .../string/start-with1/start-with1.1.adm        |    2 -
 .../string/start-with2/start-with2.1.adm        |    2 -
 .../string/start-with3/start-with3.1.adm        |    2 -
 .../string/start-with4/start-with4.1.adm        |    2 -
 .../string/start-with5/start-with5.1.adm        |    2 -
 .../string/starts-with1/starts-with1.1.adm      |    2 +
 .../string/starts-with2/starts-with2.1.adm      |    2 +
 .../string/starts-with3/starts-with3.1.adm      |    2 +
 .../string/starts-with4/starts-with4.1.adm      |    2 +
 .../string/starts-with5/starts-with5.1.adm      |    2 +
 .../string/starts-with6/starts-with6.1.adm      |    2 +
 .../string/starts-with7/starts-with7.1.adm      |   16 +
 .../string/starts-with8/starts-with8.1.adm      |    6 +
 .../string/starts-with_01/starts-with_01.1.adm  |    2 -
 .../string/startwith02/startwith02.1.adm        |   15 -
 .../string/startwith03/startwith03.1.adm        |    6 -
 .../string/string-equal4/string-equal4.1.adm    |    2 +-
 .../varlen-encoding/varlen-encoding.1.adm       |    2 +
 .../src/test/resources/runtimets/testsuite.xml  |   78 +-
 .../asterix/common/utils/UTF8CharSequence.java  |   93 -
 .../org/apache/asterix/test/aql/TestsUtils.java |   33 +-
 .../dataflow/FileIndexTupleTranslator.java      |    7 +-
 .../indexing/dataflow/HiveObjectParser.java     |    4 +-
 ...rnalIndexBulkModifyOperatorNodePushable.java |    5 +-
 .../external/library/java/JObjectAccessors.java |   36 +-
 .../external/library/java/JObjectUtil.java      |    2 +-
 .../asterix/external/library/java/JObjects.java |    8 +-
 asterix-fuzzyjoin/pom.xml                       |    8 +
 .../SimilarityMetricEditDistance.java           |   72 +-
 .../AbstractUTF8StringBinaryTokenizer.java      |   77 -
 .../fuzzyjoin/tokenizer/AbstractUTF8Token.java  |  103 -
 .../tokenizer/AbstractUTF8TokenFactory.java     |   36 -
 .../DelimitedUTF8StringBinaryTokenizer.java     |   79 -
 ...limitedUTF8StringBinaryTokenizerFactory.java |   40 -
 .../tokenizer/HashedUTF8NGramToken.java         |   62 -
 .../tokenizer/HashedUTF8NGramTokenFactory.java  |   38 -
 .../tokenizer/HashedUTF8WordToken.java          |   84 -
 .../tokenizer/HashedUTF8WordTokenFactory.java   |   38 -
 .../fuzzyjoin/tokenizer/IBinaryTokenizer.java   |   30 -
 .../tokenizer/IBinaryTokenizerFactory.java      |   26 -
 .../fuzzyjoin/tokenizer/INGramToken.java        |   28 -
 .../asterix/fuzzyjoin/tokenizer/IToken.java     |   39 -
 .../fuzzyjoin/tokenizer/ITokenFactory.java      |   26 -
 .../NGramUTF8StringBinaryTokenizer.java         |  116 -
 .../fuzzyjoin/tokenizer/StringUtils.java        |  216 -
 .../fuzzyjoin/tokenizer/UTF8NGramToken.java     |   83 -
 .../tokenizer/UTF8NGramTokenFactory.java        |   39 -
 .../fuzzyjoin/tokenizer/UTF8WordToken.java      |   44 -
 .../tokenizer/UTF8WordTokenFactory.java         |   39 -
 .../fuzzyjoin/tests/NGramTokenizerTest.java     |  239 -
 .../fuzzyjoin/tests/WordTokenizerTest.java      |  214 -
 .../external/ExternalFileIndexAccessor.java     |    3 +-
 .../ExternalLoopkupOperatorDiscriptor.java      |    5 +-
 .../external/FilesIndexDescription.java         |   76 +-
 .../DatasetNameValueExtractor.java              |    5 +-
 .../DatatypeNameValueExtractor.java             |    3 +-
 .../NestedDatatypeNameValueExtractor.java       |    5 +-
 .../apache/asterix/builders/RecordBuilder.java  |    6 +-
 .../dataflow/data/common/AListElementToken.java |   20 +-
 .../common/AOrderedListBinaryTokenizer.java     |    3 +-
 .../ListItemBinaryComparatorFactory.java        |    2 +-
 .../hash/ListItemBinaryHashFunctionFactory.java |    2 +-
 .../data/nontagged/printers/PrintTools.java     |   45 +-
 .../printers/adm/ABinaryBase64Printer.java      |  122 +-
 .../printers/adm/ABinaryHexPrinter.java         |   24 +-
 .../nontagged/printers/adm/AInt16Printer.java   |   16 +-
 .../nontagged/printers/adm/AInt32Printer.java   |   16 +-
 .../nontagged/printers/adm/AInt8Printer.java    |   16 +-
 .../printers/csv/ABinaryHexPrinter.java         |    8 +-
 .../printers/json/clean/ABinaryHexPrinter.java  |    9 +-
 .../json/lossless/ABinaryHexPrinter.java        |    8 +-
 .../serde/ABinarySerializerDeserializer.java    |   27 +-
 .../serde/AObjectSerializerDeserializer.java    |   25 +-
 .../serde/ARecordSerializerDeserializer.java    |   43 +-
 .../serde/AStringSerializerDeserializer.java    |    9 +-
 .../AUUIDStringSerializerDeserializer.java      |    4 +-
 .../AqlBinaryComparatorFactoryProvider.java     |    1 +
 .../AqlBinaryHashFunctionFactoryProvider.java   |    1 +
 .../AqlBinaryTokenizerFactoryProvider.java      |    1 +
 .../AqlSerializerDeserializerProvider.java      |    6 +-
 .../NGramUTF8StringBinaryTokenizerFactory.java  |   51 -
 .../nontagged/UTF8StringLowercasePointable.java |  106 -
 .../org/apache/asterix/om/base/ABinary.java     |   22 +-
 .../om/functions/AsterixBuiltinFunctions.java   |   44 +-
 .../pointables/ARecordVisitablePointable.java   |   10 +-
 .../om/pointables/cast/ARecordCaster.java       |    5 +-
 .../pointables/nonvisitor/ARecordPointable.java |   13 +-
 .../apache/asterix/om/types/ARecordType.java    |   13 +-
 .../asterix/om/util/NonTaggedFormatUtil.java    |   29 +-
 .../nontagged/printers/ABinaryPrinterTest.java  |   37 +-
 .../accessors/TemporalYearAccessor.java         |   24 +-
 .../common/EditDistanceEvaluator.java           |   24 +-
 .../common/SimilarityFiltersCache.java          |    3 +-
 .../ABinaryHexStringConstructorDescriptor.java  |   26 +-
 .../ABooleanConstructorDescriptor.java          |   10 +-
 .../ACircleConstructorDescriptor.java           |    6 +-
 .../ADateConstructorDescriptor.java             |   10 +-
 .../ADateTimeConstructorDescriptor.java         |   20 +-
 .../ADayTimeDurationConstructorDescriptor.java  |    8 +-
 .../ADoubleConstructorDescriptor.java           |   20 +-
 .../ADurationConstructorDescriptor.java         |   10 +-
 .../AFloatConstructorDescriptor.java            |   20 +-
 .../AInt16ConstructorDescriptor.java            |    5 +-
 .../AInt32ConstructorDescriptor.java            |    5 +-
 .../AInt64ConstructorDescriptor.java            |    5 +-
 .../AInt8ConstructorDescriptor.java             |    5 +-
 .../AIntervalFromDateConstructorDescriptor.java |   20 +-
 ...tervalFromDateTimeConstructorDescriptor.java |   39 +-
 .../AIntervalFromTimeConstructorDescriptor.java |   20 +-
 ...ervalStartFromDateConstructorDescriptor.java |   24 +-
 ...lStartFromDateTimeConstructorDescriptor.java |   30 +-
 ...ervalStartFromTimeConstructorDescriptor.java |   23 +-
 .../ALineConstructorDescriptor.java             |    5 +-
 .../ANullConstructorDescriptor.java             |    5 +-
 .../APoint3DConstructorDescriptor.java          |    5 +-
 .../APointConstructorDescriptor.java            |    5 +-
 .../APolygonConstructorDescriptor.java          |    5 +-
 .../ARectangleConstructorDescriptor.java        |    5 +-
 .../AStringConstructorDescriptor.java           |  190 +-
 .../ATimeConstructorDescriptor.java             |    8 +-
 .../AUUIDFromStringConstructorDescriptor.java   |    9 +-
 ...AYearMonthDurationConstructorDescriptor.java |   11 +-
 .../functions/AbstractBinaryStringBoolEval.java |   58 +-
 .../functions/AbstractQuadStringStringEval.java |   56 +-
 .../functions/AbstractStringContainsEval.java   |  103 -
 .../functions/AbstractTripleStringBoolEval.java |   61 +-
 .../AbstractTripleStringStringEval.java         |   80 +-
 .../functions/CodePointToStringDescriptor.java  |   47 +-
 .../evaluators/functions/CodepointIterator.java |  105 -
 .../functions/ContainsDescriptor.java           |   99 -
 .../EditDistanceStringIsFilterable.java         |   13 +-
 .../functions/EndsWithDescriptor.java           |   95 -
 .../evaluators/functions/IsNullDescriptor.java  |    3 +-
 .../functions/IsSystemNullDescriptor.java       |    3 +-
 .../evaluators/functions/LikeDescriptor.java    |  204 -
 .../evaluators/functions/RegExpDescriptor.java  |    7 +-
 .../functions/SpatialIntersectDescriptor.java   |    3 +-
 .../functions/StartsWithDescriptor.java         |   88 -
 .../functions/StringConcatDescriptor.java       |   20 +-
 .../functions/StringContainsDescriptor.java     |   71 +
 .../functions/StringEndWithDescrtiptor.java     |   92 -
 .../functions/StringEndsWithDescriptor.java     |   73 +
 .../functions/StringEqualDescriptor.java        |   21 +-
 .../functions/StringEvaluatorUtils.java         |   48 +-
 .../functions/StringJoinDescriptor.java         |   21 +-
 .../functions/StringLengthDescriptor.java       |    3 +-
 .../functions/StringLikeDescriptor.java         |  106 +
 .../functions/StringLowerCaseDescriptor.java    |   28 +-
 .../functions/StringMatchesDescriptor.java      |   74 +-
 .../StringMatchesWithFlagDescriptor.java        |   98 +-
 .../functions/StringReplaceDescriptor.java      |  108 +-
 .../StringReplaceWithFlagsDescriptor.java       |  148 +-
 .../functions/StringStartWithDescrtiptor.java   |   87 -
 .../functions/StringStartsWithDescriptor.java   |   72 +
 .../functions/StringToCodePointDescriptor.java  |   46 +-
 .../functions/StringUpperCaseDescriptor.java    |   22 +-
 .../functions/Substring2Descriptor.java         |   35 +-
 .../functions/SubstringAfterDescriptor.java     |   50 +-
 .../functions/SubstringBeforeDescriptor.java    |   39 +-
 .../functions/SubstringDescriptor.java          |   48 +-
 .../functions/binary/AbstractCopyEvaluator.java |    4 +-
 .../binary/BinaryConcatDescriptor.java          |   35 +-
 .../binary/BinaryLengthDescriptor.java          |    2 +-
 .../functions/binary/FindBinaryDescriptor.java  |   31 +-
 .../functions/binary/ParseBinaryDescriptor.java |   65 +-
 .../functions/binary/PrintBinaryDescriptor.java |   51 +-
 .../binary/SubBinaryFromDescriptor.java         |    2 +-
 .../binary/SubBinaryFromToDescriptor.java       |   28 +-
 .../records/GetRecordFieldValueEvalFactory.java |    6 +-
 .../records/GetRecordFieldsEvalFactory.java     |    8 +-
 .../functions/records/RecordFieldsUtil.java     |    5 +-
 .../records/RecordMergeDescriptor.java          |    3 +-
 .../AdjustDateTimeForTimeZoneDescriptor.java    |   12 +-
 .../AdjustTimeForTimeZoneDescriptor.java        |   10 +-
 .../functions/temporal/ParseDateDescriptor.java |   24 +-
 .../temporal/ParseDateTimeDescriptor.java       |   21 +-
 .../functions/temporal/ParseTimeDescriptor.java |   21 +-
 .../functions/temporal/PrintDateDescriptor.java |   13 +-
 .../temporal/PrintDateTimeDescriptor.java       |   14 +-
 .../functions/temporal/PrintTimeDescriptor.java |   14 +-
 .../runtime/formats/NonTaggedDataFormat.java    |   22 +-
 .../operators/file/AbstractDataParser.java      |   27 +-
 .../ExternalFilesIndexOperatorDescriptor.java   |    4 +-
 pom.xml                                         |   10 +
 323 files changed, 8685 insertions(+), 8199 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/742aba85/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java
----------------------------------------------------------------------
diff --git a/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java
b/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java
index 831b3f7..b2c26a8 100644
--- a/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java
+++ b/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java
@@ -137,7 +137,7 @@ public class AccessMethodUtils {
         }
         if (arg2.getExpressionTag() == LogicalExpressionTag.VARIABLE) {
             // The arguments of contains() function are asymmetrical, we can only use index
if it is on the first argument
-            if (funcExpr.getFunctionIdentifier() == AsterixBuiltinFunctions.CONTAINS) {
+            if (funcExpr.getFunctionIdentifier() == AsterixBuiltinFunctions.STRING_CONTAINS)
{
                 return false;
             }
             IAType expressionType = constantRuntimeResultType(arg1, context, typeEnvironment);

http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/742aba85/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java
----------------------------------------------------------------------
diff --git a/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java
b/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java
index ca70189..f3e3574 100644
--- a/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java
+++ b/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java
@@ -100,7 +100,7 @@ public class InvertedIndexAccessMethod implements IAccessMethod {
 
     private static List<FunctionIdentifier> funcIdents = new ArrayList<FunctionIdentifier>();
     static {
-        funcIdents.add(AsterixBuiltinFunctions.CONTAINS);
+        funcIdents.add(AsterixBuiltinFunctions.STRING_CONTAINS);
         // For matching similarity-check functions. For example, similarity-jaccard-check
returns a list of two items,
         // and the select condition will get the first list-item and check whether it evaluates
to true.
         funcIdents.add(AsterixBuiltinFunctions.GET_ITEM);
@@ -127,7 +127,7 @@ public class InvertedIndexAccessMethod implements IAccessMethod {
             List<AbstractLogicalOperator> assignsAndUnnests, AccessMethodAnalysisContext
analysisCtx,
             IOptimizationContext context, IVariableTypeEnvironment typeEnvironment) throws
AlgebricksException {
 
-        if (funcExpr.getFunctionIdentifier() == AsterixBuiltinFunctions.CONTAINS) {
+        if (funcExpr.getFunctionIdentifier() == AsterixBuiltinFunctions.STRING_CONTAINS)
{
             boolean matches = AccessMethodUtils.analyzeFuncExprArgsForOneConstAndVar(funcExpr,
analysisCtx, context,
                     typeEnvironment);
             if (!matches) {
@@ -807,7 +807,7 @@ public class InvertedIndexAccessMethod implements IAccessMethod {
     }
 
     private void addFunctionSpecificArgs(IOptimizableFuncExpr optFuncExpr, InvertedIndexJobGenParams
jobGenParams) {
-        if (optFuncExpr.getFuncExpr().getFunctionIdentifier() == AsterixBuiltinFunctions.CONTAINS)
{
+        if (optFuncExpr.getFuncExpr().getFunctionIdentifier() == AsterixBuiltinFunctions.STRING_CONTAINS)
{
             jobGenParams.setSearchModifierType(SearchModifierType.CONJUNCTIVE);
             jobGenParams.setSimilarityThreshold(new AsterixConstantValue(ANull.NULL));
         }
@@ -857,7 +857,7 @@ public class InvertedIndexAccessMethod implements IAccessMethod {
             return isJaccardFuncOptimizable(index, optFuncExpr);
         }
 
-        if (optFuncExpr.getFuncExpr().getFunctionIdentifier() == AsterixBuiltinFunctions.CONTAINS)
{
+        if (optFuncExpr.getFuncExpr().getFunctionIdentifier() == AsterixBuiltinFunctions.STRING_CONTAINS)
{
             return isContainsFuncOptimizable(index, optFuncExpr);
         }
 


Mime
View raw message