This is an automated email from the ASF dual-hosted git repository.

tjbanghart pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/calcite-avatica.git


The following commit(s) were added to refs/heads/main by this push:
     new 519d1ceeb [CALCITE-6034] Add isAutoIncrement and isGenerated args to 
MetaColumn constructor
519d1ceeb is described below

commit 519d1ceeb04cd99530bceb60c1a8e0966c413541
Author: TJ Banghart <[email protected]>
AuthorDate: Mon Mar 20 10:07:36 2023 -0700

    [CALCITE-6034] Add isAutoIncrement and isGenerated args to MetaColumn 
constructor
---
 .../java/org/apache/calcite/avatica/MetaImpl.java  | 47 +++++++++++++++++++++-
 1 file changed, 45 insertions(+), 2 deletions(-)

diff --git a/core/src/main/java/org/apache/calcite/avatica/MetaImpl.java 
b/core/src/main/java/org/apache/calcite/avatica/MetaImpl.java
index c41f8edfc..4eb6a2ebe 100644
--- a/core/src/main/java/org/apache/calcite/avatica/MetaImpl.java
+++ b/core/src/main/java/org/apache/calcite/avatica/MetaImpl.java
@@ -46,6 +46,7 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.NoSuchElementException;
+import java.util.Objects;
 
 /**
  * Basic implementation of {@link Meta}.
@@ -352,10 +353,13 @@ public abstract class MetaImpl implements Meta {
     public final String scopeTable = null;
     public final Short sourceDataType = null;
     @ColumnNoNulls
-    public final String isAutoincrement = "";
+    public final String isAutoincrement;
     @ColumnNoNulls
-    public final String isGeneratedcolumn = "";
+    public final String isGeneratedcolumn;
 
+    // TODO: https://issues.apache.org/jira/browse/CALCITE-5549
+    //  mark as deprecated once Calcite uses updated constructor.
+    @SuppressWarnings("unused")
     public MetaColumn(
         String tableCat,
         String tableSchem,
@@ -370,6 +374,27 @@ public abstract class MetaImpl implements Meta {
         Integer charOctetLength,
         int ordinalPosition,
         String isNullable) {
+      this(tableCat, tableSchem, tableName, columnName, dataType, typeName, 
columnSize,
+          decimalDigits, numPrecRadix, nullable, charOctetLength, 
ordinalPosition, isNullable, "",
+          "");
+    }
+
+    public MetaColumn(
+        String tableCat,
+        String tableSchem,
+        String tableName,
+        String columnName,
+        int dataType,
+        String typeName,
+        Integer columnSize,
+        Integer decimalDigits,
+        Integer numPrecRadix,
+        int nullable,
+        Integer charOctetLength,
+        int ordinalPosition,
+        String isNullable,
+        String isAutoincrement,
+        String isGeneratedcolumn) {
       this.tableCat = tableCat;
       this.tableSchem = tableSchem;
       this.tableName = tableName;
@@ -383,11 +408,29 @@ public abstract class MetaImpl implements Meta {
       this.charOctetLength = charOctetLength;
       this.ordinalPosition = ordinalPosition;
       this.isNullable = isNullable;
+      this.isAutoincrement = isAutoincrement;
+      this.isGeneratedcolumn = isGeneratedcolumn;
     }
 
     public String getName() {
       return columnName;
     }
+
+    /** Returns a copy of this MetaColumn, overriding the value of {@code 
isAutoincrement}. */
+    @SuppressWarnings("unused") // called from Calcite
+    public MetaColumn withIsAutoincrement(String isAutoincrement) {
+      return new MetaColumn(tableCat, tableSchem, tableName, columnName, 
dataType, typeName,
+          columnSize, decimalDigits, numPrecRadix, nullable, charOctetLength, 
ordinalPosition,
+          isNullable, Objects.requireNonNull(isAutoincrement), 
isGeneratedcolumn);
+    }
+
+    /** Returns a copy of this MetaColumn, overriding the value of {@code 
isGeneratedcolumn}. */
+    @SuppressWarnings("unused") // called from Calcite
+    public MetaColumn withIsGeneratedcolumn(String isGeneratedcolumn) {
+      return new MetaColumn(tableCat, tableSchem, tableName, columnName, 
dataType, typeName,
+          columnSize, decimalDigits, numPrecRadix, nullable, charOctetLength, 
ordinalPosition,
+          isNullable, isAutoincrement, 
Objects.requireNonNull(isGeneratedcolumn));
+    }
   }
 
   /** Metadata describing a table. */

Reply via email to