This is an automated email from the ASF dual-hosted git repository. liyang pushed a change to branch kylin5 in repository https://gitbox.apache.org/repos/asf/kylin.git
from 41d541a6cf KYLIN-5879 Update spark version to 3.3.0-kylin-4.6.18.0 new 94355492ba KYLIN-5880 Read/write layout files with dynamical adjusted parquet conf new 76d840fc3d KYLIN-5881 Importing models from other project merges ruleBasedIndex new 98f6b1fd4c KYLIN-5882 Collecting expandedFilterConditions to avoid segmentPruning failure new dd79a67317 KYLIN-5883 Enable aggregate pushDown new 0fcd768a62 KYLIN-5884 Logical views support JDBC data sources new 25e2bd6128 KYLIN-5885 Optimize segment pruning new cdbd25aacf KYLIN-5886 Add open api for cloning model new 01ba8e4ace KYLIN-5887 Decimal division causes scale loss new 4bb994180f KYLIN-5888 Support _ymdint_between(date1, date2) function new e30b72d60f KYLIN-5889 Pushdown query to Spark for string plus operation new 6a5ecd6967 KYLIN-5890 The available queue capacity size is inaccurate new d8fcfb595f KYLIN-5891 Provide model level parameter conf api new 3468db9ad6 KYLIN-5892 Filter out computedColumn which cannot be covered by dimensions/measures new 2b5aca4152 KYLIN-5893 Support getting job list by type for api new 954d66aaa4 KYLIN-5894 Temporary writable db config support for hive transactional table building new 32a2cbac59 KYLIN-5895 Support list model by sorted recommendation count new 6fe1b4b43e KYLIN-5896 Use crontab expression to periodic GC new 34a6057b82 KYLIN-5897 Support ArgoDB index building new 0dea2d3ae2 KYLIN-5898 Converted subQuery with alias cannot query new 205a100e17 KYLIN-5899 Optimization of job table and transaction new 673249c3b8 KYLIN-5900 Add logicalView DDL open api new e146e6e7c6 KYLIN-5901 Timestampadd function does not support column of string type new 8f60cb738b KYLIN-5902 CountDistinctCaseWhenFunctionRule encounters NPE new f335159ee4 KYLIN-5903 Separate jdbc datasource by project new e9a3bf6c8d KYLIN-5904 Support specified models to answer query new 1f507ba336 KYLIN-5905 Fix vulnerbility & upgrade spring-web to 5.3.32 new 9758ae0513 KYLIN-5906 Upgrade spark version to 3.3.0-kylin-4.6.22.0 new 00f02da532 KYLIN-5907 Overwrite model with locked indexes new 30108b22b7 KYLIN-5908 ArrayIndexOutOfBoundsException caused by empty subpartition new 15f11114bb KYLIN-5909 Replacing ParameterExpression with Iteration new 7229c61572 KYLIN-5910 Enhancement of query log new c423d868a8 KYLIN-5911 Add indexes for queryHistory table new 13529299f3 KYLIN-5912 Rebuild the dictionary subject to the underlying data changes new e4293223d5 KYLIN-5913 Supports intersection operators: union/subtraction new 17587144e4 KYLIN-5914 Upgrade to Calcite 1.30 new 35c0c5a6b6 KYLIN-5920 Fix decimal precision problem new 5491e9af4e KYLIN-5921 Layout deletion compatibility for segment completion api new 5bea1e40f9 KYLIN-5922 Null value of Model description causes NPE new b6e66ef037 KYLIN-5919 Re-design SubtractBitmap function new f3c101f906 KYLIN-5918 Add open api to delete project config new 884f705e99 KYLIN-5916 Layout deletion compatibility for segment completion api new 2f06a0dff8 KYLIN-5924 Add conf to control view check new b60db130c8 KYLIN-5923 Optimization of loading index new 85f5c72430 KYLIN-5925 Fix the api to updating user password new 9eb11b2617 KYLIN-5926 Turn off OptimizeOneRowJoin for query new e0985109c9 KYLIN-5927 Fix api of refreshing catalog and updating job status new 4961330fdf KYLIN-5928 Update ScalarSubqueryJoinRule to adapt calcite 1.30 new d5c3af09e1 KYLIN-5929 Optimization of deleting auditLog new 5a9da8d168 KYLIN-5930 Optimization api of health check new 3d8b5de3c9 KYLIN-5931 Improvement of the sql hints extraction new c71e00c5b4 KYLIN-5917 SegmentPruningRule optimization for `in` and `not in` operators new c8990ea264 KYLIN-5932 Support info of stackTrace interception new b61da78d62 KYLIN-5933 Split large transaction in loading table api new 90a390f4e3 KYLIN-5934 Model validation failed for computedColumn contains escaping slash new b4ad246976 KYLIN-5935 Parameters for retrying job building can not work new 8032e5b75b KYLIN-5936 Modify stage status serially new f3c06b446b KYLIN-5937 PushDown select star case-sensitive new c66d460ac9 KYLIN-5938 Fix swagger can not disable new b925bc2990 KYLIN-5939 Only system admin can access sparder UI new bc045fd15c KYLIN-5940 File size estimation is inaccurate new f8440531c5 KYLIN-5941 Add conf to control OlapContext recutting times new 4de56d5290 KYLIN-5942 Merge duplicate recommended indexes new cf19f57f66 KYLIN-5915 Upgrade jars for vulnerabilities and upgrade postgresql version new 77201e7bcd KYLIN-5943 Upgrade spark to 3.3.0-kylin-4.6.26.0 The 64 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: pom.xml | 81 +- .../src/main/resources/application.yaml | 4 + .../kylin/rest/controller/ErrorControllerTest.java | 4 +- .../apache/kylin/rest/KylinPrepareEnvListener.java | 10 - .../org/apache/kylin/rest/config/AppConfig.java | 17 +- .../apache/kylin/rest/config/AppInitializer.java | 20 +- .../config/initialize/ProcessStatusListener.java | 11 + .../kylin/rest/controller/BaseController.java | 6 +- .../kylin/rest/request/ProjectConfigRequest.java | 4 + .../apache/kylin/rest/response/ErrorResponse.java | 21 +- .../apache/kylin/rest/service/AccessService.java | 18 - .../KylinSessionInformationExpiredStrategy.java | 50 + .../rest/session/MapIndexedSessionRepository.java | 80 ++ .../rest/config/initialize/MockClusterManager.java | 80 ++ .../initialize/ProcessStatusListenerTest.java | 6 +- .../rest/security/NUnauthorisedEntryPointTest.java | 9 +- .../kylin/rest/service/AccessServiceTest.java | 4 +- .../kylin/rest/service/AclTCRServiceTest.java | 2 +- .../apache/kylin/rest/service/SourceTestCase.java | 3 +- .../org/apache/kylin/rest/util/HttpUtilTest.java | 54 +- .../java/org/apache/kylin/common/KapConfig.java | 40 + .../org/apache/kylin/common/KylinConfigBase.java | 191 ++- .../java/org/apache/kylin/common/QueryContext.java | 9 + .../java/org/apache/kylin/common/QueryTrace.java | 4 + .../apache/kylin/common/constant/Constants.java | 13 +- .../apache/kylin/common/debug/BackdoorToggles.java | 13 + .../kylin/common/exception/ServerErrorCode.java | 6 +- .../common/exception/code/ErrorCodeServer.java | 2 + .../org/apache/kylin/common/msg/CnMessage.java | 15 + .../java/org/apache/kylin/common/msg/Message.java | 84 +- .../persistence/metadata/HDFSMetadataStore.java | 31 +- .../persistence/metadata/JdbcAuditLogStore.java | 47 +- .../persistence/metadata/JdbcEpochStore.java | 6 + .../common/persistence/metadata/jdbc/JdbcUtil.java | 37 +- .../common/persistence/transaction/UnitOfWork.java | 37 +- .../persistence/transaction/UnitOfWorkContext.java | 3 + .../org/apache/kylin/common/util/StringHelper.java | 119 +- .../org/apache/kylin/common/util/TimeUtil.java | 9 + .../src/main/resources/kylin-defaults0.properties | 4 + .../resources/kylin_error_msg_conf_cn.properties | 2 + .../resources/kylin_error_msg_conf_en.properties | 2 + .../kylin_error_suggestion_conf_cn.properties | 2 + .../kylin_error_suggestion_conf_en.properties | 2 + .../main/resources/kylin_errorcode_conf.properties | 2 + .../resources/kylin_errorcode_conf_en.properties | 5 + .../resources/kylin_errorcode_conf_zh.properties | 5 + .../src/main/resources/metadata-jdbc-h2.properties | 13 + .../main/resources/metadata-jdbc-mysql.properties | 43 + .../resources/metadata-jdbc-postgresql.properties | 43 +- .../apache/kylin/common/KylinConfigBaseTest.java | 62 +- .../metadata/HDFSMetadataStoreTest.java | 81 ++ .../metadata/JdbcAuditLogStoreTest.java | 42 + .../persistence/metadata/jdbc/JdbcUtilTest.java | 29 + .../apache/kylin/common/util/StringHelperTest.java | 20 +- .../org/apache/kylin/common/util/TimeUtilTest.java | 18 + src/core-job/pom.xml | 4 + .../apache/kylin/job/common/IndexBuildJobUtil.java | 99 +- .../org/apache/kylin/job/common/SegmentUtil.java | 29 +- .../apache/kylin/job/config/JobMybatisConfig.java | 79 +- .../org/apache/kylin/job/util/JobContextUtil.java | 12 +- .../resources/script/schema_job_info_mysql.sql | 39 - .../script/schema_job_info_postgresql.sql | 37 - .../kylin/job/common/IndexBuildJobUtilTest.java | 377 +++++ .../org/apache/kylin/job/common/SegmentsTest.java | 74 +- .../kylin/job/config/JobMybatisConfigTest.java | 158 +++ .../org/apache/kylin/mapper/JobLockMapperTest.java | 1 + src/core-metadata/pom.xml | 4 + .../kylin/measure/bitmap/BitmapUuidFunc.java} | 24 +- .../kylin/measure/bitmap/BitmapUuidValueFunc.java} | 27 +- .../bitmap/intersect/IntersectMeasureType.java | 13 +- .../metadata/cube/cuboid/ComparatorUtils.java | 20 +- .../kylin/metadata/cube/model/IndexPlan.java | 9 +- .../kylin/metadata/cube/model/NDataLayout.java | 10 +- .../kylin/metadata/cube/model/NDataSegment.java | 34 +- .../apache/kylin/metadata/datatype/DataType.java | 28 +- .../kylin/metadata/model/ColExcludedChecker.java | 12 +- .../kylin/metadata/model/ComputedColumnDesc.java | 8 +- .../apache/kylin/metadata/model/FunctionDesc.java | 28 +- .../apache/kylin/metadata/model/NDataModel.java | 2 +- .../apache/kylin/metadata/model/ParameterDesc.java | 7 +- .../org/apache/kylin/metadata/model/TableDesc.java | 22 + .../org/apache/kylin/metadata/model/TableRef.java | 11 +- .../org/apache/kylin/metadata/model/TblColRef.java | 14 +- .../metadata/model/alias/ExpressionComparator.java | 31 +- .../kylin/metadata/model/tool/CalciteParser.java | 9 +- .../metadata/model/util/ComputedColumnUtil.java | 16 +- .../metadata/query/JdbcQueryHistoryStore.java | 11 + .../metadata/query/NoopJdbcQueryHistoryStore.java | 5 + .../apache/kylin/metadata/query/QueryMetrics.java | 6 +- .../kylin/metadata/query/RDBMSQueryHistoryDAO.java | 4 + .../metadata/query/util/QueryHisStoreUtil.java | 136 +- .../kylin/metadata/realization/SQLDigest.java | 22 + .../metadata/sourceusage/SourceUsageManager.java | 113 +- .../apache/kylin/query/util/SqlFunctionUtil.java | 51 + .../org/apache/kylin/source/SourceFactory.java | 3 + .../apache/kylin/source/SupportsSparkCatalog.java} | 20 +- .../adhocquery/DoubleQuotePushDownConverter.java | 40 +- .../kylin/cube/gridtable/GridTableMappingTest.java | 3 +- .../kylin/metadata/cube/NIndexPlanManagerTest.java | 12 +- .../metadata/cube/model/NDataflowManagerTest.java | 17 +- .../apache/kylin/metadata/model/TableDescTest.java | 24 + .../model/util/ComputedColumnUtilTest.java | 1 - .../metadata/project/NProjectManagerTest.java | 2 +- .../metadata/query/RDBMSQueryHistoryDaoTest.java | 22 + .../kylin/metadata/realization/SQLDigestTest.java | 98 ++ .../kylin/metrics/HdfsCapacityMetricsTest.java | 2 +- .../kylin/query/util/SqlFunctionUtilTest.java | 81 ++ .../DoubleQuotePushDownConverterTest.java | 19 + .../src/main/resources/application.yaml | 4 + .../kylin/rest/controller/JobController.java | 15 +- .../kylin/rest/controller/BaseControllerTest.java | 27 + .../kylin/rest/controller/JobControllerTest.java | 14 +- .../engine/spark/MockSegmentBuildJobWithRetry.java | 50 + .../engine/spark/job/NSparkRetryCubingJobTest.java | 104 ++ .../kylin/job/service/JobInfoServiceTest.java | 11 +- .../rest/filter/SegmentsRequestFilterTest.java | 10 +- .../kylin/rest/service/ModelServiceBuildTest.java | 10 +- .../kylin/rest/service/SnapshotServiceTest.java | 22 + .../datasource/adaptor/AbstractJdbcAdaptor.java | 19 +- .../sdk/datasource/adaptor/DefaultAdaptor.java | 1 - .../sdk/datasource/framework/JdbcConnector.java | 13 +- .../sdk/datasource/framework/conv/ConvMaster.java | 43 +- .../framework/conv/ConvRownumSqlWriter.java | 6 +- .../datasource/framework/conv/ConvSqlWriter.java | 35 +- .../datasource/framework/JdbcConnectorTest.java | 7 + .../framework/conv/SqlConverterTest.java | 23 +- .../apache/kylin/rest/ddl/SourceTableCheck.java | 3 +- .../apache/kylin/rest/service/SparkDDLService.java | 20 +- .../apache/kylin/rest/service/TableExtService.java | 31 +- .../apache/kylin/rest/service/TableService.java | 21 +- .../org/apache/kylin/rest/ddl/ViewCheck.scala | 6 +- .../apache/kylin/rest/service/SparkDDLTest.java | 9 + .../localmeta/data/DEFAULT.TEST_DECIMAL.csv | 2 + .../493b5213-18e4-29f2-c801-d56c4617ef4f.json | 42 + .../5e67c064-46d1-7893-7620-95d27f8cacee.json | 59 + .../028909fe-e1e1-f600-418d-35c36b38088b.json | 8 + .../aaf8fb1c-68e9-22f3-3482-4c4888e03639.json | 64 + .../493b5213-18e4-29f2-c801-d56c4617ef4f.json | 64 + .../5e67c064-46d1-7893-7620-95d27f8cacee.json | 128 ++ .../493b5213-18e4-29f2-c801-d56c4617ef4f.json | 150 ++ .../5e67c064-46d1-7893-7620-95d27f8cacee.json | 166 +++ .../TestBuildV2Dict/table/SSB.LINEORDER.json | 114 ++ .../metadata/_global/project/TestBuildV2Dict.json | 35 + .../741ca86a-1f13-46da-a59f-95fb68615e3a.json | 1 + .../default/table/DEFAULT.TEST_KYLIN_FACT.json | 6 +- .../metadata/default/table/DEFAULT.TEST_ORDER.json | 6 +- .../org/apache/kylin/newten/ExactlyMatchTest.java | 5 +- .../org/apache/kylin/newten/NAggPushDownTest.java | 20 +- .../apache/kylin/newten/NBitmapFunctionTest.java | 252 +++- .../org/apache/kylin/newten/NFilePruningTest.java | 2 +- .../org/apache/kylin/newten/NTopNResultTest.java | 2 +- .../kylin/newten/SubtractBitmapImplTest.java | 183 +++ .../apache/kylin/newten/SubtractBitmapTest.java | 268 ++++ .../newten/SubtractBitmapWithoutCodeGenTest.java | 285 ++++ .../engine/EnhancedAggPushDownPlannerTest.java | 2 + .../kylin/query/engine/SqlToRelNodeTest.java | 47 +- .../kylin/query/engine/SumExprPlannerTest.java | 11 +- .../routing/HeterogeneousSegmentPruningTest.java | 8 +- .../routing}/MultiPartitionPruningTest.java | 4 +- .../kylin/query/routing/QueryLayoutFilterTest.java | 32 +- .../query/routing/RealizationChooserTest.java | 64 + .../query/routing/SegmentPruningRuleTest.java | 64 + .../query/rules/ScalarSubqueryJoinRuleTest.java | 10 +- .../query/rules/SortProjectTransposeRuleTest.java | 63 + .../java/org/apache/kylin/util/ExecAndComp.java | 8 +- .../apache/kylin/util/QueryResultComparator.java | 2 +- .../query/engine/CountDistinctExprPlannerTest.xml | 255 ++-- .../engine/EnhancedAggPushDownPlannerTest.xml | 1249 ++++++++++------- .../apache/kylin/query/engine/SqlToRelNodeTest.xml | 277 ++-- .../query/engine/SumCastDoublePlannerTest.xml | 52 +- .../kylin/query/engine/SumExprPlannerTest.xml | 1435 +++++++++++--------- .../kylin/query/rules/AggPushDownRuleTest.xml | 298 ++-- .../kylin/query/rules/FilterSimplifyRuleTest.xml | 80 +- .../query/rules/ScalarSubqueryJoinRuleTest.xml | 677 +++++---- .../query/rules/SortProjectTransposeRuleTest.xml | 47 + .../query/sql_agg_not_pushdown/query08.sql | 52 + .../query/sql_count_distinct_expr/query14.sql} | 22 +- .../sql_function/sql_function_DateUDF/query08.sql} | 17 +- .../query/sql_scalar_subquery/query20.sql} | 26 +- .../resources/query/sql_sort_project/query01.sql} | 24 +- .../test/resources/query/sql_sqlnode/query01.sql} | 38 +- .../1e12e297-ae63-4019-5e05-f571174ea157.json | 502 +++++++ .../1132bdcb-ac2b-8886-427a-ee0e3b7f8c63.json | 36 + .../4b3130a3-dc14-e0f9-6a9a-819db188b6b6.json | 36 + .../904964d7-b4b4-c8f5-187d-fa9b0c7bf6bf.json | 36 + .../9b3e9c1d-1c41-9d6f-5aa4-1b70c5a3591e.json | 36 + .../f69eea91-0c16-47f4-957e-e4d1e9064e2a.json | 36 + .../1e12e297-ae63-4019-5e05-f571174ea157.json | 64 + .../1e12e297-ae63-4019-5e05-f571174ea157.json | 157 +++ .../table/TEST_DB.TEST_MEASURE.json | 112 ++ .../server/AbstractMVCIntegrationTestCase.java | 16 +- .../springframework/conf/kylinSecurity.xml | 7 +- src/metadata-feign-api/pom.xml | 6 + .../kylin/rest/controller/NProjectController.java | 9 + .../kylin/rest/controller/NTableController.java | 15 +- .../kylin/rest/controller/NUserController.java | 14 +- .../kylin/rest/controller/SegmentController.java | 12 +- .../controller/open/OpenLogicalViewController.java | 63 + .../rest/controller/open/OpenModelController.java | 131 ++ .../rest/controller/NProjectControllerTest.java | 79 ++ .../rest/controller/NTableControllerTest.java | 19 + .../kylin/rest/controller/NUserControllerTest.java | 10 + .../open/OpenLogicalViewControllerTest.java | 108 ++ .../controller/open/OpenModelControllerTest.java | 146 ++ .../common/util/ModifyTableNameSqlVisitor.java | 3 +- .../common/util/SqlIdentifierFormatterVisitor.java | 14 +- .../apache/kylin/job/service/SnapshotService.java | 21 +- .../rest/request/OpenLogicalViewRequest.java} | 22 +- .../rest/request/OpenModelConfigRequest.java} | 26 +- .../kylin/rest/response/NDataSegmentResponse.java | 2 +- .../kylin/rest/response/SnapshotColResponse.java | 7 + .../kylin/rest/service/FusionModelService.java | 17 +- .../kylin/rest/service/IndexPlanService.java | 2 +- .../kylin/rest/service/MetaStoreService.java | 59 +- .../kylin/rest/service/ModelBuildService.java | 32 +- .../kylin/rest/service/ModelBuildSupporter.java | 6 +- .../kylin/rest/service/ModelSemanticHelper.java | 2 + .../apache/kylin/rest/service/ModelService.java | 78 +- .../merger/AfterMergeOrRefreshResourceMerger.java | 3 +- .../rest/service/params/IndexBuildParams.java} | 47 +- .../kylin/rest/service/MetaStoreServiceTest.java | 53 +- .../service/ModelServiceSemanticUpdateTest.java | 9 +- .../kylin/rest/service/ModelServiceTest.java | 29 +- .../kylin/rest/service/ProjectServiceTest.java | 6 +- .../rest/service/params/IndexBuildParamsTest.java | 44 + .../kylin/rest/util/ModelTripleComparatorTest.java | 5 + .../nmodel_test_expected.json | 2 +- .../f26dec69-99f5-6bb8-5af5-05809812efce.json | 84 ++ .../33102e1b-7377-435c-a295-60aefb7b3f3f.json | 134 ++ .../f26dec69-99f5-6bb8-5af5-05809812efce.json | 86 ++ .../f26dec69-99f5-6bb8-5af5-05809812efce.json | 128 ++ .../table/DEFAULT.KYLIN_SALES.json | 99 ++ ...2_16_14_19_5F0BA3D7D7FF885BC5971425BEF1B27B.zip | Bin 0 -> 3638 bytes src/ops-booter/pom.xml | 6 +- src/ops-booter/src/main/resources/application.yaml | 4 + src/ops-booter/src/main/resources/assembly.xml | 7 +- .../org/apache/kylin/rest/service/OpsService.java | 9 +- .../apache/kylin/rest/service/OpsServiceTest.java | 2 + .../src/main/resources/application.yaml | 4 + .../org/apache/kylin/query/util/EscapeParser.jj | 27 +- .../org/apache/kylin/query/util/RawSqlParser.jj | 27 +- .../query/calcite/KylinRelDataTypeSystem.java | 122 +- ...lciteConfig.java => KylinConnectionConfig.java} | 17 +- .../apache/kylin/query/engine/SqlConverter.java} | 131 +- .../org/apache/kylin/query/engine/TypeSystem.java | 3 + .../org/apache/kylin/query/engine/UdfRegistry.java | 130 ++ .../apache/kylin/query/relnode/ColumnRowType.java | 6 +- .../apache/kylin/query/relnode/ContextUtil.java | 18 +- .../kylin/query/relnode/OlapAggregateRel.java | 190 ++- .../apache/kylin/query/relnode/OlapContext.java | 20 +- .../apache/kylin/query/relnode/OlapFilterRel.java | 28 +- .../apache/kylin/query/relnode/OlapJoinRel.java | 47 +- .../apache/kylin/query/relnode/OlapMinusRel.java | 4 +- .../kylin/query/relnode/OlapNonEquiJoinRel.java | 14 +- .../apache/kylin/query/relnode/OlapProjectRel.java | 80 +- .../org/apache/kylin/query/relnode/OlapRel.java | 4 + .../apache/kylin/query/relnode/OlapTableScan.java | 5 +- .../apache/kylin/query/relnode/OlapUnionRel.java | 4 +- .../apache/kylin/query/relnode/OlapValuesRel.java | 3 +- .../kylin/query/relnode/TableColRefWithRel.java | 18 +- .../kylin/query/routing/RealizationChooser.java | 31 +- .../kylin/query/routing/SegmentPruningRule.java | 205 +-- .../kylin/query/schema/KylinSqlValidator.java | 10 +- .../security/HackSelectStarWithColumnACL.java | 52 +- .../org/apache/kylin/query/security/RowFilter.java | 6 +- .../kylin/query/util/AbstractSqlVisitor.java | 12 +- .../kylin/query/util/ComputedColumnRewriter.java | 322 +++-- .../kylin/query/util/ConvertToComputedColumn.java | 312 ++--- .../apache/kylin/query/util/EscapeTransformer.java | 8 +- .../org/apache/kylin/query/util/OlapRelUtil.java | 77 +- .../org/apache/kylin/query/util/PushDownUtil.java | 26 +- .../kylin/query/util/QueryAliasMatchInfo.java | 40 +- .../apache/kylin/query/util/QueryAliasMatcher.java | 44 +- .../org/apache/kylin/query/util/QueryUtil.java | 4 +- .../java/org/apache/kylin/query/util/RawSql.java | 28 + .../org/apache/kylin/query/util/RawSqlBlock.java | 2 +- .../kylin/query/util/RelAggPushDownUtil.java | 92 +- .../query/util/RestoreFromComputedColumn.java | 6 +- .../kylin/query/util/RexToTblColRefTranslator.java | 63 +- .../java/org/apache/kylin/query/util/RexUtils.java | 111 +- .../apache/kylin/util/FilterConditionExpander.java | 87 +- .../kylin/rest/controller/NQueryController.java | 2 + .../rest/controller/NQueryControllerTest.java | 51 +- .../rest/health/SparkContextHealthIndicator.java | 2 + .../health/SparkSqlContextHealthIndicator.java | 2 + .../kylin/rest/service/ModelQueryService.java | 18 +- .../kylin/rest/service/QueryHistoryScheduler.java | 47 +- .../apache/kylin/rest/service/QueryService.java | 27 +- .../kylin/rest/service/SparderUIService.java | 14 + .../org/apache/kylin/rest/util/SparderUIUtil.java | 9 + .../kylin/rest/service/AsyncQueryJobTest.java | 2 +- .../kylin/rest/service/ModelServiceQueryTest.java | 31 + .../rest/service/QueryHistorySchedulerTest.java | 84 +- .../QueryHistorySchedulerWithJdbcSaveTest.java | 127 ++ .../rest/service/QueryHistoryServiceTest.java | 2 +- .../rest/service/QueryMetricsListenerTest.java | 16 +- .../service/QueryServiceWithRecordHistoryTest.java | 293 ++++ .../kylin/rest/service/SparderUIServiceTest.java | 11 + .../apache/kylin/rest/util/SparderUIUtilTest.java | 72 + src/query/pom.xml | 9 + .../apache/kylin/query/engine/PlannerFactory.java | 143 +- .../kylin/query/engine/ProjectSchemaFactory.java | 7 +- .../org/apache/kylin/query/engine/QueryExec.java | 109 +- .../apache/kylin/query/engine/SchemaMetaData.java | 6 +- .../org/apache/kylin/query/engine/UDFRegistry.java | 182 --- .../kylin/query/engine/exec/CalcitePlanExec.java | 4 + .../query/engine/view/ModelViewGenerator.java | 4 +- .../apache/kylin/query/engine/view/ViewSchema.java | 2 +- .../optrule/AbstractAggCaseWhenFunctionRule.java | 26 +- .../query/optrule/AggregateMultipleExpandRule.java | 9 +- .../query/optrule/AggregateProjectReduceRule.java | 2 +- .../query/optrule/CorrReduceFunctionRule.java | 19 +- .../optrule/CountDistinctCaseWhenFunctionRule.java | 7 +- .../kylin/query/optrule/ExtensionOlapJoinRule.java | 18 +- .../optrule/FilterJoinConditionMergeRule.java | 51 +- .../query/optrule/OlapAggJoinTransposeRule.java | 175 +-- .../query/optrule/OlapAggProjectMergeRule.java | 3 +- .../query/optrule/OlapAggProjectTransposeRule.java | 12 +- .../kylin/query/optrule/OlapAggSumCastRule.java | 6 +- .../optrule/OlapAggregateReduceFunctionsRule.java | 5 +- .../kylin/query/optrule/OlapAggregateRule.java | 2 +- .../kylin/query/optrule/OlapFilterJoinRule.java | 10 +- .../apache/kylin/query/optrule/OlapJoinRule.java | 34 +- .../optrule/OlapProjectJoinTransposeRule.java | 4 +- .../kylin/query/optrule/OlapProjectMergeRule.java | 20 +- .../query/optrule/OlapReduceExpressionRule.java | 16 +- .../query/optrule/OlapSumCastTransposeRule.java | 13 +- .../query/optrule/OlapSumTransCastToThenRule.java | 15 +- .../query/optrule/ScalarSubqueryJoinRule.java | 41 +- .../kylin/query/optrule/SumBasicOperatorRule.java | 13 +- .../query/optrule/SumCaseWhenFunctionRule.java | 2 +- .../query/optrule/SumConstantConvertRule.java | 15 +- .../java/org/apache/kylin/query/udf/BitmapUDF.java | 40 - .../UnixTimestampUDF.java => KylinBitmapUDF.java} | 35 +- .../org/apache/kylin/query/udf/KylinOtherUDF.java | 148 ++ .../java/org/apache/kylin/query/udf/MassInUDF.java | 28 - .../udf/{SizeUDF.java => SparkCollectionUDF.java} | 4 +- .../org/apache/kylin/query/udf/SparkMiscUDF.java | 18 + .../org/apache/kylin/query/udf/SparkStringUDF.java | 109 +- .../org/apache/kylin/query/udf/SparkTimeUDF.java | 53 +- .../kylin/query/udf/dateUdf/DatePartUDF.java | 61 - .../kylin/query/udf/dateUdf/DateTruncUDF.java | 44 - .../kylin/query/udf/formatUdf/ToCharUDF.java | 61 - .../kylin/query/udf/nullHandling/IsNullUDF.java | 51 - .../kylin/query/udf/nullHandling/NvlUDF.java | 56 - .../org/apache/kylin/query/udf/otherUdf/IfUDF.java | 108 -- .../apache/kylin/query/udf/otherUdf/RlikeUDF.java | 33 - .../kylin/query/udf/stringUdf/ConcatUDF.java | 67 - .../kylin/query/udf/stringUdf/ConcatwsUDF.java | 32 - .../apache/kylin/query/udf/stringUdf/InStrUDF.java | 33 - .../kylin/query/udf/stringUdf/InitCapbUDF.java | 70 - .../apache/kylin/query/udf/stringUdf/LeftUDF.java | 28 - .../kylin/query/udf/stringUdf/LengthUDF.java | 28 - .../kylin/query/udf/stringUdf/RepeatUDF.java | 30 - .../kylin/query/udf/stringUdf/SplitPartUDF.java | 36 - .../kylin/query/udf/stringUdf/StrPosUDF.java | 28 - .../kylin/query/udf/stringUdf/SubStrUDF.java | 47 - .../query/udf/stringUdf/TableauStringUDF.java | 48 - .../apache/kylin/query/util/AggExpressionUtil.java | 9 +- .../kylin/query/util/FilterPushDownUtil.java | 11 +- .../java/org/apache/kylin/query/util/HepUtils.java | 14 +- .../kylin/query/util/QueryContextCutter.java | 22 +- .../kylin/query/util/QueryModelPriorities.java | 63 +- .../KylinRelDataTypeSystemArithmeticTest.java | 111 ++ .../query/engine/QueryExecColumnMetaTest.java | 23 +- .../kylin/query/engine/SelectRealizationTest.java | 4 +- .../security/HackSelectStarWithColumnACLTest.java | 211 +++ ...thColumnACLWithSelectStarCaseSensitiveTest.java | 738 ++++++++++ ...arWithColumnACLWithSelectStarLowercaseTest.java | 632 +++++++++ .../org/apache/kylin/query/udf/DateUDFTest.java | 52 - .../org/apache/kylin/query/udf/FormatUDFTest.java | 44 - .../java/org/apache/kylin/query/udf/IfUDFTest.java | 41 - .../apache/kylin/query/udf/KylinOtherUDFTest.java | 103 ++ .../kylin/query/udf/NullHandlingUDFTest.java | 62 - .../org/apache/kylin/query/udf/StringUDFTest.java | 150 -- .../org/apache/kylin/query/udf/VersionUDFTest.java | 33 - .../apache/kylin/query/util/CCOnRealModelTest.java | 495 ------- .../query/util/ComputedColumnRewriterTest.java | 75 + .../query/util/DefaultQueryTransformerTest.java | 26 +- .../kylin/query/util/EscapeTransformerTest.java | 6 +- .../query/util/ImplicitCCOnModelViewTest.java | 129 +- .../apache/kylin/query/util/ImplicitCCTest.java | 245 ++-- .../apache/kylin/query/util/PushDownUtilTest.java | 19 +- .../org/apache/kylin/query/util/QueryUtilTest.java | 428 +++--- .../kylin/query/util/RewriteCcOnRealModelTest.java | 624 +++++++++ .../SparkSQLFunctionConverterTest.java} | 23 +- .../org/apache/kylin/util/OlapContextTestUtil.java | 20 + src/query/src/test/resources/query/converter/1.sql | 198 +++ .../test/resources/query/converter/1.sql.expected | 174 +++ .../src/test/resources/ut_meta/view/model_cc.json | 19 +- .../src/test/resources/ut_meta/view/model_cc.sql | 2 +- ...CleanInterceptor.java => QueryInterceptor.java} | 23 +- .../kylin/rest/config/KylinWebMvcConfig.java | 10 +- .../rest/health/FileSystemHealthIndicator.java | 2 + .../rest/health/MetaStoreHealthIndicator.java | 2 + src/server/src/main/resources/application.yaml | 6 + src/server/src/main/resources/kylinSecurity.xml | 11 +- .../kylin/rest/QueryBlockCleanInterceptorTest.java | 38 - .../apache/kylin/rest/QueryInterceptorTest.java | 97 ++ .../engine/spark/application/SparkApplication.java | 10 +- .../engine/spark/job/RestfulJobProgressReport.java | 2 +- .../job/SparkCleanupTransactionalTableStep.java | 2 +- .../spark/source/NSparkCubingSourceInput.java | 8 +- .../spark/source/NSparkMetadataExplorer.java | 3 +- .../kylin/engine/spark/source/NSparkTableMeta.java | 83 +- .../spark/source/NSparkTableMetaBuilder.java | 152 --- .../spark/source/NSparkTableMetaExplorer.java | 51 +- .../spark/utils/HiveTransactionTableHelper.java | 37 +- .../kylin/job/execution/NSparkExecutable.java | 3 + .../cluster/parser/CapacitySchedulerParser.scala | 15 +- .../spark/builder/DictionaryBuilderHelper.java | 4 +- .../kylin/engine/spark/job/BuildJobInfos.scala | 11 + .../kylin/engine/spark/job/SegmentBuildJob.java | 9 +- .../kylin/engine/spark/job/stage/StageExec.scala | 1 + .../spark/smarter/IndexDependencyParser.scala | 8 +- .../org/apache/spark/application/JobWorker.scala | 9 +- .../spark/autoheal/ExceptionTerminator.scala | 19 +- .../spark/NLocalWithSparkSessionTestBase.java | 6 + .../spark/utils/ComputedColumnEvalUtilTest.java | 7 +- .../utils/HiveTransactionTableHelperTest.java | 102 +- .../src/test/resources/data/lineorder.csv | 50 + .../parser/TestCapacitySchedulerParser.scala | 14 + .../engine/spark/builder/TestGlobalDictBuild.scala | 23 +- .../kylin/engine/spark/job/TestDFBuildJob.scala | 57 +- .../apache/spark/application/TestJobMonitor.scala | 32 +- .../apache/spark/application/TestJobWorker.scala | 72 + .../kylin/cache/kylin/KylinCacheFileSystem.java | 56 +- .../execution/datasources/CacheFilePartition.scala | 5 +- .../datasources/CachePartitionedFile.scala | 4 +- .../cache/kylin/KylinCacheFileSystemTest.java | 27 +- .../CacheFileScanRDDWithSoftAffinitySuite.scala | 35 +- .../org/apache/kylin/source/jdbc/JdbcExplorer.java | 48 +- .../org/apache/kylin/source/jdbc/JdbcSource.java | 7 + .../apache/kylin/source/jdbc/JdbcSourceInput.java | 14 + .../apache/kylin/source/jdbc/JdbcSourceTest.java | 42 + src/spark-project/sparder/pom.xml | 6 + .../kylin/query/mask/QueryDependentColumnMask.java | 2 +- .../kylin/query/mask/QuerySensitiveDataMask.java | 6 +- .../org/apache/spark/sql/LogicalViewLoader.java | 42 +- .../kylin/query/pushdown/SparkSqlClient.scala | 8 +- .../kylin/query/runtime/ExpressionConverter.scala | 330 ++--- .../kylin/query/runtime/SparderRexVisitor.scala | 28 +- .../kylin/query/runtime/plan/AggregatePlan.scala | 56 +- .../apache/kylin/query/runtime/plan/JoinPlan.scala | 16 +- .../apache/kylin/query/runtime/plan/SortPlan.scala | 2 +- .../kylin/query/runtime/plan/TableScanPlan.scala | 12 +- .../apache/kylin/query/util/RuntimeHelper.scala | 24 +- .../scala/org/apache/spark/sql/KapFunctions.scala | 73 +- .../scala/org/apache/spark/sql/KylinSession.scala | 1 + .../sql/catalyst/expressions/ExpressionUtils.scala | 20 +- .../sql/catalyst/expressions/KapExpresssions.scala | 218 ++- .../sql/catalyst/expressions/SubtractBitmap.scala | 124 ++ .../apache/spark/sql/udf/SubtractBitmapImpl.scala | 47 +- .../pushdown/PushDownRunnerSparkImplTest.java | 23 + .../apache/spark/sql/udf/YMDintBetweenTest.scala | 78 ++ .../kylin/engine/spark/utils/Repartitioner.java | 25 +- .../kylin/engine/spark/job/NSparkCubingUtil.java | 2 +- .../dict/IllegalDictEncodeValueException.java} | 10 +- .../org/apache/spark/dict/NBucketDictionary.java | 2 +- .../org/apache/spark/sql/SparderTypeUtil.scala | 14 +- .../datasource/storage/LayoutFormatWriter.scala | 34 +- .../sql/execution/datasource/FilePruner.scala | 21 +- .../datasource/ResetShufflePartition.scala | 68 +- .../spark/sql/udaf/PreciseCountDistinct.scala | 95 +- .../engine/spark/utils/RepartitionerTest.java | 13 +- ...setFilesMaxPartitionBytesParameterizedTest.java | 114 ++ .../storage/LayoutFormatWriterSuite.scala | 42 + .../datasource/ResetShufflePartitionSuite.scala | 91 +- .../b0fab5a2-7c65-03e6-0dc8-8a396b05d833.json | 3 +- .../apache/kylin/helper/MetadataToolHelper.java | 3 +- .../java/org/apache/kylin/tool/MetadataTool.java | 5 +- .../org/apache/kylin/tool/StorageCleanerTest.java | 3 + 472 files changed, 18736 insertions(+), 7861 deletions(-) create mode 100644 src/common-service/src/main/java/org/apache/kylin/rest/session/KylinSessionInformationExpiredStrategy.java create mode 100644 src/common-service/src/main/java/org/apache/kylin/rest/session/MapIndexedSessionRepository.java create mode 100644 src/common-service/src/test/java/org/apache/kylin/rest/config/initialize/MockClusterManager.java create mode 100644 src/core-common/src/test/java/org/apache/kylin/common/persistence/metadata/HDFSMetadataStoreTest.java delete mode 100644 src/core-job/src/main/resources/script/schema_job_info_mysql.sql delete mode 100644 src/core-job/src/main/resources/script/schema_job_info_postgresql.sql create mode 100644 src/core-job/src/test/java/org/apache/kylin/job/common/IndexBuildJobUtilTest.java create mode 100644 src/core-job/src/test/java/org/apache/kylin/job/config/JobMybatisConfigTest.java rename src/{query/src/main/java/org/apache/kylin/query/udf/dateUdf/DateDiffUDF.java => core-metadata/src/main/java/org/apache/kylin/measure/bitmap/BitmapUuidFunc.java} (58%) rename src/{query/src/main/java/org/apache/kylin/query/udf/SparkOtherUDF.java => core-metadata/src/main/java/org/apache/kylin/measure/bitmap/BitmapUuidValueFunc.java} (56%) create mode 100644 src/core-metadata/src/main/java/org/apache/kylin/query/util/SqlFunctionUtil.java rename src/{query/src/main/java/org/apache/kylin/query/udf/otherUdf/RegexpLikeUDF.java => core-metadata/src/main/java/org/apache/kylin/source/SupportsSparkCatalog.java} (65%) create mode 100644 src/core-metadata/src/test/java/org/apache/kylin/metadata/realization/SQLDigestTest.java create mode 100644 src/core-metadata/src/test/java/org/apache/kylin/query/util/SqlFunctionUtilTest.java create mode 100644 src/data-loading-service/src/test/java/org/apache/kylin/engine/spark/MockSegmentBuildJobWithRetry.java create mode 100644 src/data-loading-service/src/test/java/org/apache/kylin/engine/spark/job/NSparkRetryCubingJobTest.java create mode 100644 src/examples/test_case_data/localmeta/data/DEFAULT.TEST_DECIMAL.csv create mode 100644 src/examples/test_case_data/localmeta/metadata/TestBuildV2Dict/dataflow/493b5213-18e4-29f2-c801-d56c4617ef4f.json create mode 100644 src/examples/test_case_data/localmeta/metadata/TestBuildV2Dict/dataflow/5e67c064-46d1-7893-7620-95d27f8cacee.json create mode 100644 src/examples/test_case_data/localmeta/metadata/TestBuildV2Dict/dataflow_details/493b5213-18e4-29f2-c801-d56c4617ef4f/028909fe-e1e1-f600-418d-35c36b38088b.json create mode 100644 src/examples/test_case_data/localmeta/metadata/TestBuildV2Dict/dataflow_details/5e67c064-46d1-7893-7620-95d27f8cacee/aaf8fb1c-68e9-22f3-3482-4c4888e03639.json create mode 100644 src/examples/test_case_data/localmeta/metadata/TestBuildV2Dict/index_plan/493b5213-18e4-29f2-c801-d56c4617ef4f.json create mode 100644 src/examples/test_case_data/localmeta/metadata/TestBuildV2Dict/index_plan/5e67c064-46d1-7893-7620-95d27f8cacee.json create mode 100644 src/examples/test_case_data/localmeta/metadata/TestBuildV2Dict/model_desc/493b5213-18e4-29f2-c801-d56c4617ef4f.json create mode 100644 src/examples/test_case_data/localmeta/metadata/TestBuildV2Dict/model_desc/5e67c064-46d1-7893-7620-95d27f8cacee.json create mode 100644 src/examples/test_case_data/localmeta/metadata/TestBuildV2Dict/table/SSB.LINEORDER.json create mode 100644 src/examples/test_case_data/localmeta/metadata/_global/project/TestBuildV2Dict.json create mode 100644 src/kylin-it/src/test/java/org/apache/kylin/newten/SubtractBitmapImplTest.java create mode 100644 src/kylin-it/src/test/java/org/apache/kylin/newten/SubtractBitmapTest.java create mode 100644 src/kylin-it/src/test/java/org/apache/kylin/newten/SubtractBitmapWithoutCodeGenTest.java rename src/kylin-it/src/test/java/org/apache/kylin/{newten => query/routing}/MultiPartitionPruningTest.java (99%) create mode 100644 src/kylin-it/src/test/java/org/apache/kylin/query/rules/SortProjectTransposeRuleTest.java create mode 100644 src/kylin-it/src/test/resources/org/apache/kylin/query/rules/SortProjectTransposeRuleTest.xml create mode 100644 src/kylin-it/src/test/resources/query/sql_agg_not_pushdown/query08.sql rename src/{core-job/src/main/resources/script/schema_job_info_h2.sql => kylin-it/src/test/resources/query/sql_count_distinct_expr/query14.sql} (58%) copy src/{core-job/src/main/resources/script/schema_job_lock_h2.sql => kylin-it/src/test/resources/query/sql_function/sql_function_DateUDF/query08.sql} (64%) rename src/{core-job/src/main/resources/script/schema_job_lock_mysql.sql => kylin-it/src/test/resources/query/sql_scalar_subquery/query20.sql} (62%) rename src/{core-job/src/main/resources/script/schema_job_lock_postgresql.sql => kylin-it/src/test/resources/query/sql_sort_project/query01.sql} (59%) rename src/{core-job/src/main/resources/script/schema_job_lock_h2.sql => kylin-it/src/test/resources/query/sql_sqlnode/query01.sql} (55%) create mode 100644 src/kylin-it/src/test/resources/ut_meta/multi_partition_date_type/metadata/multi_partition_date_type/dataflow/1e12e297-ae63-4019-5e05-f571174ea157.json create mode 100644 src/kylin-it/src/test/resources/ut_meta/multi_partition_date_type/metadata/multi_partition_date_type/detaflow_details/1e12e297-ae63-4019-5e05-f571174ea157/1132bdcb-ac2b-8886-427a-ee0e3b7f8c63.json create mode 100644 src/kylin-it/src/test/resources/ut_meta/multi_partition_date_type/metadata/multi_partition_date_type/detaflow_details/1e12e297-ae63-4019-5e05-f571174ea157/4b3130a3-dc14-e0f9-6a9a-819db188b6b6.json create mode 100644 src/kylin-it/src/test/resources/ut_meta/multi_partition_date_type/metadata/multi_partition_date_type/detaflow_details/1e12e297-ae63-4019-5e05-f571174ea157/904964d7-b4b4-c8f5-187d-fa9b0c7bf6bf.json create mode 100644 src/kylin-it/src/test/resources/ut_meta/multi_partition_date_type/metadata/multi_partition_date_type/detaflow_details/1e12e297-ae63-4019-5e05-f571174ea157/9b3e9c1d-1c41-9d6f-5aa4-1b70c5a3591e.json create mode 100644 src/kylin-it/src/test/resources/ut_meta/multi_partition_date_type/metadata/multi_partition_date_type/detaflow_details/1e12e297-ae63-4019-5e05-f571174ea157/f69eea91-0c16-47f4-957e-e4d1e9064e2a.json create mode 100644 src/kylin-it/src/test/resources/ut_meta/multi_partition_date_type/metadata/multi_partition_date_type/index_plan/1e12e297-ae63-4019-5e05-f571174ea157.json create mode 100644 src/kylin-it/src/test/resources/ut_meta/multi_partition_date_type/metadata/multi_partition_date_type/model_desc/1e12e297-ae63-4019-5e05-f571174ea157.json create mode 100755 src/kylin-it/src/test/resources/ut_meta/multi_partition_date_type/metadata/multi_partition_date_type/table/TEST_DB.TEST_MEASURE.json create mode 100644 src/metadata-server/src/main/java/org/apache/kylin/rest/controller/open/OpenLogicalViewController.java create mode 100644 src/metadata-server/src/test/java/org/apache/kylin/rest/controller/open/OpenLogicalViewControllerTest.java rename src/{query/src/test/java/org/apache/kylin/query/udf/RegexpLikeUDFTest.java => modeling-service/src/main/java/org/apache/kylin/rest/request/OpenLogicalViewRequest.java} (67%) copy src/{common-service/src/main/java/org/apache/kylin/rest/request/ProjectConfigRequest.java => modeling-service/src/main/java/org/apache/kylin/rest/request/OpenModelConfigRequest.java} (61%) copy src/{query-common/src/main/java/org/apache/kylin/query/util/RawSqlBlock.java => modeling-service/src/main/java/org/apache/kylin/rest/service/params/IndexBuildParams.java} (64%) create mode 100644 src/modeling-service/src/test/java/org/apache/kylin/rest/service/params/IndexBuildParamsTest.java create mode 100644 src/modeling-service/src/test/resources/ut_meta/metastore_model/metadata/original_project/dataflow/f26dec69-99f5-6bb8-5af5-05809812efce.json create mode 100644 src/modeling-service/src/test/resources/ut_meta/metastore_model/metadata/original_project/dataflow_details/f26dec69-99f5-6bb8-5af5-05809812efce/33102e1b-7377-435c-a295-60aefb7b3f3f.json create mode 100644 src/modeling-service/src/test/resources/ut_meta/metastore_model/metadata/original_project/index_plan/f26dec69-99f5-6bb8-5af5-05809812efce.json create mode 100644 src/modeling-service/src/test/resources/ut_meta/metastore_model/metadata/original_project/model_desc/f26dec69-99f5-6bb8-5af5-05809812efce.json create mode 100644 src/modeling-service/src/test/resources/ut_meta/metastore_model/metadata/original_project/table/DEFAULT.KYLIN_SALES.json create mode 100644 src/modeling-service/src/test/resources/ut_model_metadata/test_lock_2_model_metadata_2024_03_12_16_14_19_5F0BA3D7D7FF885BC5971425BEF1B27B.zip rename src/query-common/src/main/java/org/apache/kylin/query/engine/{KECalciteConfig.java => KylinConnectionConfig.java} (84%) rename src/{query/src/main/java/org/apache/kylin/query/engine/SQLConverter.java => query-common/src/main/java/org/apache/kylin/query/engine/SqlConverter.java} (55%) rename src/{query => query-common}/src/main/java/org/apache/kylin/query/engine/TypeSystem.java (97%) create mode 100644 src/query-common/src/main/java/org/apache/kylin/query/engine/UdfRegistry.java create mode 100644 src/query-service/src/test/java/org/apache/kylin/rest/service/QueryHistorySchedulerWithJdbcSaveTest.java create mode 100644 src/query-service/src/test/java/org/apache/kylin/rest/service/QueryServiceWithRecordHistoryTest.java create mode 100644 src/query-service/src/test/java/org/apache/kylin/rest/util/SparderUIUtilTest.java delete mode 100644 src/query/src/main/java/org/apache/kylin/query/engine/UDFRegistry.java delete mode 100644 src/query/src/main/java/org/apache/kylin/query/udf/BitmapUDF.java rename src/query/src/main/java/org/apache/kylin/query/udf/{dateUdf/UnixTimestampUDF.java => KylinBitmapUDF.java} (50%) create mode 100644 src/query/src/main/java/org/apache/kylin/query/udf/KylinOtherUDF.java delete mode 100644 src/query/src/main/java/org/apache/kylin/query/udf/MassInUDF.java rename src/query/src/main/java/org/apache/kylin/query/udf/{SizeUDF.java => SparkCollectionUDF.java} (91%) delete mode 100644 src/query/src/main/java/org/apache/kylin/query/udf/dateUdf/DatePartUDF.java delete mode 100644 src/query/src/main/java/org/apache/kylin/query/udf/dateUdf/DateTruncUDF.java delete mode 100644 src/query/src/main/java/org/apache/kylin/query/udf/formatUdf/ToCharUDF.java delete mode 100644 src/query/src/main/java/org/apache/kylin/query/udf/nullHandling/IsNullUDF.java delete mode 100644 src/query/src/main/java/org/apache/kylin/query/udf/nullHandling/NvlUDF.java delete mode 100644 src/query/src/main/java/org/apache/kylin/query/udf/otherUdf/IfUDF.java delete mode 100644 src/query/src/main/java/org/apache/kylin/query/udf/otherUdf/RlikeUDF.java delete mode 100644 src/query/src/main/java/org/apache/kylin/query/udf/stringUdf/ConcatUDF.java delete mode 100644 src/query/src/main/java/org/apache/kylin/query/udf/stringUdf/ConcatwsUDF.java delete mode 100644 src/query/src/main/java/org/apache/kylin/query/udf/stringUdf/InStrUDF.java delete mode 100644 src/query/src/main/java/org/apache/kylin/query/udf/stringUdf/InitCapbUDF.java delete mode 100644 src/query/src/main/java/org/apache/kylin/query/udf/stringUdf/LeftUDF.java delete mode 100644 src/query/src/main/java/org/apache/kylin/query/udf/stringUdf/LengthUDF.java delete mode 100644 src/query/src/main/java/org/apache/kylin/query/udf/stringUdf/RepeatUDF.java delete mode 100644 src/query/src/main/java/org/apache/kylin/query/udf/stringUdf/SplitPartUDF.java delete mode 100644 src/query/src/main/java/org/apache/kylin/query/udf/stringUdf/StrPosUDF.java delete mode 100644 src/query/src/main/java/org/apache/kylin/query/udf/stringUdf/SubStrUDF.java delete mode 100644 src/query/src/main/java/org/apache/kylin/query/udf/stringUdf/TableauStringUDF.java create mode 100644 src/query/src/test/java/org/apache/kylin/query/calcite/KylinRelDataTypeSystemArithmeticTest.java create mode 100644 src/query/src/test/java/org/apache/kylin/query/security/HackSelectStarWithColumnACLWithSelectStarCaseSensitiveTest.java create mode 100644 src/query/src/test/java/org/apache/kylin/query/security/HackSelectStarWithColumnACLWithSelectStarLowercaseTest.java delete mode 100644 src/query/src/test/java/org/apache/kylin/query/udf/DateUDFTest.java delete mode 100644 src/query/src/test/java/org/apache/kylin/query/udf/FormatUDFTest.java delete mode 100644 src/query/src/test/java/org/apache/kylin/query/udf/IfUDFTest.java create mode 100644 src/query/src/test/java/org/apache/kylin/query/udf/KylinOtherUDFTest.java delete mode 100644 src/query/src/test/java/org/apache/kylin/query/udf/NullHandlingUDFTest.java delete mode 100644 src/query/src/test/java/org/apache/kylin/query/udf/StringUDFTest.java delete mode 100644 src/query/src/test/java/org/apache/kylin/query/udf/VersionUDFTest.java delete mode 100644 src/query/src/test/java/org/apache/kylin/query/util/CCOnRealModelTest.java create mode 100644 src/query/src/test/java/org/apache/kylin/query/util/ComputedColumnRewriterTest.java create mode 100644 src/query/src/test/java/org/apache/kylin/query/util/RewriteCcOnRealModelTest.java rename src/query/src/test/java/org/apache/kylin/query/{udf/RlikeUDFTest.java => util/SparkSQLFunctionConverterTest.java} (51%) rename src/{kylin-it => query}/src/test/java/org/apache/kylin/util/OlapContextTestUtil.java (83%) create mode 100644 src/query/src/test/resources/query/converter/1.sql create mode 100644 src/query/src/test/resources/query/converter/1.sql.expected rename src/server/src/main/java/org/apache/kylin/rest/{QueryBlockCleanInterceptor.java => QueryInterceptor.java} (56%) delete mode 100644 src/server/src/test/java/org/apache/kylin/rest/QueryBlockCleanInterceptorTest.java create mode 100644 src/server/src/test/java/org/apache/kylin/rest/QueryInterceptorTest.java delete mode 100644 src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/source/NSparkTableMetaBuilder.java create mode 100644 src/spark-project/engine-spark/src/test/resources/data/lineorder.csv create mode 100644 src/spark-project/sparder/src/main/scala/org/apache/spark/sql/catalyst/expressions/SubtractBitmap.scala create mode 100644 src/spark-project/sparder/src/test/scala/org/apache/spark/sql/udf/YMDintBetweenTest.scala rename src/{query/src/main/java/org/apache/kylin/query/udf/VersionUDF.java => spark-project/spark-common/src/main/scala/org/apache/spark/dict/IllegalDictEncodeValueException.java} (80%) create mode 100644 src/spark-project/spark-common/src/test/java/org/apache/spark/sql/execution/datasource/ResetFilesMaxPartitionBytesParameterizedTest.java create mode 100644 src/spark-project/spark-common/src/test/scala/org/apache/spark/sql/datasource/storage/LayoutFormatWriterSuite.scala