发布于 2016-01-23 00:55:16 | 346 次阅读 | 评论: 0 | 来源: 网友投递
Apache Calcite 动态数据管理框架
Apache Calcite 是一个动态数据管理框架,用于 Hadoop 平台。
Apache Calcite 1.6.0 发布,此版本的主要更新内容如下:
[CALCITE-816] Represent sub-query as a RexNode
[CALCITE-854] Implement UNNEST ... WITH ORDINALITY
[CALCITE-1003] Utility to convert RelNode
to SQL (Amogh Margoor)
[CALCITE-1010]FETCH/LIMIT
and OFFSET
in RelToSqlConverter (Amogh Margoor)
Move code from JdbcImplementor
and JdbcRules
to new classSqlImplementor
Deduce dialect’s null collation from DatabaseMetaData
Fix RelToSqlConverterTest
on Windows
Following [CALCITE-897], empty string for boolean
properties means true
[CALCITE-992] Validate and resolve sequence reference as a Table
object
[CALCITE-968] Stream-to-relation and stream-to-stream joins (Milinda Pathirage)
[CALCITE-1041] User-defined function that returns DATE
or TIMESTAMP
value
[CALCITE-986] User-defined function with DATE
or TIMESTAMP
parameters
[CALCITE-958] Overloaded Table Functions with named arguments (Julien Le Dem)
[CALCITE-970] If NULLS FIRST
/NULLS LAST
not specified, sort NULL
values high
Avatica features and bug fixes
[CALCITE-1040] Differentiate better between arrays and scalars in protobuf
[CALCITE-934] Use an OS-assigned ephemeral port for CalciteRemoteDriverTest
[CALCITE-767] Create Avatica RPC endpoints for commit and rollback commands
[CALCITE-983] Handle nulls in ErrorResponse
’s protobuf representation better
[CALCITE-989] Add server’s address in each response
Fix some bugs found by static analysis
Make all equals
and hashCode
methods uniform
[CALCITE-962] Propagate the cause, not just the cause’s message, from JdbcMeta
Planner rules
[CALCITE-1057] Add RelMetadataProvider
parameter to standard planner Program
s
[CALCITE-1055]SubQueryRemoveRule
should create Correlate
, not Join
, for correlated sub-queries
[CALCITE-978] Enable customizing constant folding rule behavior when a Filter
simplifies to false (Jason Altekruse)
[CALCITE-977] Make the constant expression Executor
configurable in FrameworkConfig
(Jason Altekruse)
[CALCITE-1058] Add method RelBuilder.empty
, and rewrite LIMIT 0 and WHERE FALSE to it
[CALCITE-996] Simplify predicate when we create a Filter
operator
Simplify RexProgram
, in particular (NOT CASE ... END) IS TRUE
, which occurs in when NOT IN
is expanded
Fix variant of [CALCITE-923] that occurs in RelOptRulesTest.testPushFilterPastProject
[CALCITE-1023] and [CALCITE-1038] Planner rule that removes Aggregate
keys that are constant
[CALCITE-1018]SortJoinTransposeRule
not firing due to getMaxRowCount(RelSubset)
returning null
[CALCITE-1019]RelMdUtil.checkInputForCollationAndLimit()
was wrong with alreadySorted
check
Not safe to use ‘=’ for predicates on constant expressions that might be null
[CALCITE-993] Pull up all constant expressions, not just literals, as predicates
[CALCITE-1005] Handle null in getMaxRowCount
for Aggregate
(Mike Hinchey)
[CALCITE-995] Sort transpose rules might fall in an infinite loop
[CALCITE-987] Pushing LIMIT 0
results in an infinite loop (Pengcheng Xiong)
[CALCITE-988]FilterToProjectUnifyRule.invert(MutableRel, MutableRel, MutableProject)
works incorrectly
[CALCITE-969] Composite EnumerableSort
with DESC
wrongly sorts NULL
values low
[CALCITE-959] Add description to SortProjectTransposeRule
’s constructor
Bug fixes, API changes and minor enhancements
[CALCITE-1060] Fix test deadlock by initializing DriverManager
before registering AlternatingDriver
[CALCITE-1047]ChunkList.clear
throws AssertionError
[CALCITE-1053] CPU spin, ReflectiveRelMetadataProvider.apply
waiting for HashMap.get
Upgrade toolbox, to fix line length issue on Windows
[CALCITE-1051] Underflow exception due to scaling IN clause literals (Frankie Bollaert)
[CALCITE-975] Allow Planner to return validated row type together with SqlNode
[CALCITE-1020] Add MILLISECOND
in TimeUnit
(Pengcheng Xiong)
[CALCITE-794] Detect cycles when computing statistics (This is a breaking change.)
Tune algorithm that deduces the return type of AND
expression
[CALCITE-842] Decorrelator gets field offsets confused if fields have been trimmed
Fix NullPointerException
in SqlJoin.toString()
Add ImmutableBitSet.rebuild()
[CALCITE-915] Tests now unset ThreadLocal
values on exit
[CALCITE-1036]DiffRepository
should not insert new resources at the end of the repository
[CALCITE-955]Litmus
(continuation-passing style for methods that check invariants)
RelBuilder.project
now does nothing if asked to project the identity with the same field names
Deprecate some Util
methods, and upgrade last Maven modules to JDK 1.7
Document RelOptPredicateList
Add ImmutableNullableList.copyOf(Iterable)
Fix “endPosTable already set” error from javac
Add benchmark of Parser.create(sql).parseQuery()
[CALCITE-1042] Ensure that FILTER
is BOOLEAN NOT NULL
[CALCITE-1039] Assign a SqlKind
value for each built-in aggregate function
[CALCITE-1030] JSON ModelHandler
calling SchemaPlus.setCacheEnabled()
causesUnsupportedOperationException
when using SimpleCalciteSchema
[CALCITE-1028] Move populate materializations after sql-to-rel conversion
[CALCITE-1034] Use a custom checker for code style rules that Checkstyle cannot express
[CALCITE-1032] Verify javadoc of private methods
[CALCITE-1015]OFFSET 0
causes AssertionError
(Zhen Wang)
[CALCITE-1024] In a planner test, if a rule should have no effect, state that explicitly
[CALCITE-1016]GROUP BY *constant*
on empty relation should return 0 rows
[CALCITE-1022] Rename .oq
Quidem files to .iq
[CALCITE-980] Fix AND
and OR
implementation in Enumerable
convention
[CALCITE-459] When parsing SQL, allow single line comment on last line (Zhen Wang)
[CALCITE-1009]SelfPopulatingList
is not thread-safe
[CALCITE-1008] Replace Closeable
with AutoCloseable
[CALCITE-1001] Upgrade to quidem-0.7
[CALCITE-990] In VolcanoPlanner
, populate RelOptRuleCall.nodeInputs
for operands of type “any”
[CALCITE-966]VolcanoPlanner
now clears ruleNames
in order to avoid rule name conflicting error
Factor user-defined function tests from JdbcTest
to UdfTest
, and classes into Smalls
[CALCITE-974] Exception while validating DELETE
(Yuri Au Yong)
[CALCITE-964] Rename timezone
connection property to timeZone
Web site and documentation
Avatica
[CALCITE-1033] Introduce Avatica protobuf documentation
[CALCITE-1029] Add “purpose” descriptions to Avatica JSON docs
[CALCITE-984] Massive cleanup of Avatica JSON docs
[CALCITE-861] Be explicit that mvn test
needs to be invoked
[CALCITE-997] Document keywords
[CALCITE-979] Broken links in web site
[CALCITE-961] Web site: Add downloads and Apache navigation links
[CALCITE-960] Download links for pgp, md5, KEYS
files, and direct from mirrors
Remove embedded date-stamps from javadoc; add javadoc for test classes
[CALCITE-965] Link to downloads page from each release news item
详情请看:发行说明
下载地址:这里