[ https://issues.apache.org/jira/browse/KYLIN-3996?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17371852#comment-17371852 ]
Shaoxiong Zhan commented on KYLIN-3996: --------------------------------------- Most of the quoted scenarios related to jdbc source had been processed in JIRA https://issues.apache.org/jira/browse/KYLIN-4046, but it is found that there are some problems in org.apache.kylin.metadata.model.PartitionDesc.IPartitionConditionBuilder#buildDateRangeCondition. The use of hard code quotes requires similar processing. We need to choose the corresponding quote according to the data source. such as: {code:java} public static class YearMonthDayPartitionConditionBuilder implements IPartitionConditionBuilder { @Override public String buildDateRangeCondition(PartitionDesc partDesc, ISegment seg, SegmentRange segRange, Function<TblColRef, String> func) { long startInclusive = (Long) segRange.start.v; long endExclusive = (Long) segRange.end.v; TblColRef partitionColumn = partDesc.getPartitionDateColumnRef(); Preconditions.checkNotNull(partitionColumn); partitionColumn.setQuotedFunc(func); String tableAlias = partitionColumn.getTableAlias(); String concatField = String.format(Locale.ROOT, "CONCAT(%s.YEAR,'-',%s.MONTH,'-',%s.DAY)", tableAlias, tableAlias, tableAlias); StringBuilder builder = new StringBuilder(); if (startInclusive > 0) { builder.append(concatField + " >= '" + DateFormat.formatToDateStr(startInclusive) + "' "); builder.append("AND "); } builder.append(concatField + " < '" + DateFormat.formatToDateStr(endExclusive) + "'"); return builder.toString(); } } {code} > postgresql can not to be used to construct the flat hive table in NO.1 step > in building cube via datasourcedefaultSdk > --------------------------------------------------------------------------------------------------------------------- > > Key: KYLIN-3996 > URL: https://issues.apache.org/jira/browse/KYLIN-3996 > Project: Kylin > Issue Type: Bug > Components: Driver - JDBC > Affects Versions: v2.6.1 > Environment: kylin3.0.0+hadoop2.7.4+hive2.1.1+hbase1.2.6 > Reporter: haijiandu > Assignee: Shaoxiong Zhan > Priority: Critical > Labels: datasource, postgresql, sdk > Fix For: v3.1.3 > > Attachments: kylin_log_error_1.jpg, kylin_log_error_2.jpg, > kylin_log_error_3.jpg, kylin_log_error_4.jpg, kylin_log_error_5.jpg, > kylin_properties_duhj.jpg, kylin_sql.jpg, > kylin_sqoopToflatHiveTable_Error.jpg, postgresql_xml.jpg, > server_config_kylin_1.jpg, server_config_kylin_1.jpg, > server_config_kylin_2.jpg > > > postgresql can not to be used to construct the flat hive table in NO.1 step > in building cube via datasourcedefaultSdk. whether in kylin.properties or in > postgresql.xml,corresponding configureations have been finished as required > by official specification.There alwarys occurs a problem such as "ERROR > manager.SqlManager: Error executing statement: > org.postgresql.util.PSQLException: > ERROR: syntax error at or near ".", > when kylin is linked to postgresql databese, it seems that the errors happen > in sql brought by kylin. the sql has back quote,as it is "`" ,that causes > query failure brought by table name and columns defined by back quote(`). > as required, in kylin.properties ,its configuration has been as followings > kylin.source.default=16 > kylin.source.jdbc.connection-url=jdbc:postgresql://192.168.75.123:5432/dvdrental > kylin.source.jdbc.driver=org.postgresql.Driver > kylin.source.jdbc.dialect=postgresql > kylin.source.jdbc.adaptor=org.apache.kylin.sdk.datasource.adaptor.DefaultAdaptor > kylin.source.jdbc.user=postgres > kylin.source.jdbc.pass=1234 > kylin.source.jdbc.sqoop-home=/duhj/sqoop-1.4.7.bin__hadoop-2.6.0 > kylin.source.jdbc.filed-delimiter=| > kylin.source.jdbc.sqoop-mapper-num=4 > what is more, in > ~/apache-kylin-3.0/conf/datasource/postgresql.xml,corresponding conf is as > followings: > -<DATASOURCE_DEF DIALECT="postgresql" ID="postgresql" NAME="kylin"> > <PROPERTY NAME="sql.default-converted-enabled" VALUE="true"/> > <PROPERTY NAME="sql.allow-no-offset" VALUE="true"/> > <PROPERTY NAME="sql.allow-fetch-no-rows" VALUE="true"/> > <PROPERTY NAME="sql.allow-no-orderby-with-fetch" VALUE="true"/> > <PROPERTY NAME="sql.keyword-default-escape" VALUE="true"/> > <PROPERTY NAME="sql.keyword-default-uppercase" VALUE="true"/> > <PROPERTY NAME="schema.database.black-list-pattern" VALUE="publi.*, edw"/> > <PROPERTY NAME="sql.case-sensitive" VALUE="true"/> > <PROPERTY NAME="metadata.enable-cache" VALUE="true"/> > <PROPERTY NAME="sql.enable-quote-all-identifiers" VALUE="false"/> > is there a method to solve it? > -- This message was sent by Atlassian Jira (v8.3.4#803005)