[ 
https://issues.apache.org/jira/browse/DRILL-4369?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15589517#comment-15589517
 ] 

ASF GitHub Bot commented on DRILL-4369:
---------------------------------------

Github user julienledem commented on a diff in the pull request:

    https://github.com/apache/drill/pull/622#discussion_r84139272
  
    --- Diff: exec/java-exec/src/main/codegen/templates/DrillVersionInfo.java 
---
    @@ -0,0 +1,97 @@
    
+/*******************************************************************************
    + * Licensed to the Apache Software Foundation (ASF) under one
    + * or more contributor license agreements.  See the NOTICE file
    + * distributed with this work for additional information
    + * regarding copyright ownership.  The ASF licenses this file
    + * to you under the Apache License, Version 2.0 (the
    + * "License"); you may not use this file except in compliance
    + * with the License.  You may obtain a copy of the License at
    + *
    + * http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing, software
    + * distributed under the License is distributed on an "AS IS" BASIS,
    + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    + * See the License for the specific language governing permissions and
    + * limitations under the License.
    + 
******************************************************************************/
    +
    +<@pp.dropOutputFile />
    +
    +<@pp.changeOutputFile 
name="/org/apache/drill/common/util/DrillVersionInfo.java" />
    +
    +<#include "/@includes/license.ftl" />
    +
    +package org.apache.drill.common.util;
    +
    +import java.text.MessageFormat;
    +import java.text.ParseException;
    +
    +/**
    + * This file is generated with Freemarker using the template 
src/main/codegen/templates/DrillVersionInfo.java
    + */
    +public class DrillVersionInfo {
    +  private static final String VERSION = "${maven.version}";
    +
    +  private static final int MAJOR_VERSION;
    +  private static final int MINOR_VERSION;
    +  private static final int PATCH_VERSION;
    +
    +  static {
    +      final int[] parseResults;
    +      try {
    +        parseResults = parseVersion(VERSION);
    +        if (parseResults == null || parseResults.length < 3) {
    +          throw new AssertionError("An error occured when parsing Drill 
Version");
    +        }
    +      } catch(ParseException e) {
    +        throw new AssertionError("An error occured when parsing Drill 
Version", e);
    +      }
    +      MAJOR_VERSION = parseResults[0];
    +      MINOR_VERSION = parseResults[1];
    +      PATCH_VERSION = parseResults[2];
    +  }
    +
    +  static int[] parseVersion(String version) throws ParseException {
    +    final MessageFormat versionFormat = new 
MessageFormat("{0,number,integer}.{1,number,integer}.{2,number,integer}");
    +
    +    Object[] parseResult = versionFormat.parse(version);
    +    int[] result = new int[parseResult.length];
    +    for(int i = 0; i<parseResult.length; i++) {
    +      result[i] = ((Number) parseResult[i]).intValue();
    +    }
    +    
    +    return result;
    +  }
    +  /**
    +   * Get the Drill version from pom
    +   * @return the version number as x.y.z
    +   */
    +  public static String getVersion() {
    +    return VERSION;
    +  }
    +
    +  /**
    +   *  Get the Drill major version from pom
    +   *  @return x if assuming the version number is x.y.z
    +   */
    +  public static int getMajorVersion() {
    +    return MAJOR_VERSION;
    +  }
    +
    +  /**
    +   *  Get the Drill minor version from pom
    +   *  @return y if assuming the version number is x.y.z
    +   */
    +  public static int getMinorVersion() {
    +    return MINOR_VERSION;
    +  }
    +
    +  /**
    +   *  Get the Drill patch version from pom
    +   *  @return z if assuming the version number is x.y.z
    --- End diff --
    
    return z if assuming the version number is x.y.z{suffix}


> Database driver fails to report any major or minor version information
> ----------------------------------------------------------------------
>
>                 Key: DRILL-4369
>                 URL: https://issues.apache.org/jira/browse/DRILL-4369
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Client - JDBC
>    Affects Versions: 1.4.0
>            Reporter: N Campbell
>
> Using Apache 1.4 Drill
> The DatabaseMetadata.getters to obtain the Major and Minor versions of the 
> server or JDBC driver return 0 instead of 1.4.
> This prevents an application from dynamically adjusting how it interacts 
> based on which version of Drill a connection is accessing.  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to