1 package com.daffodilwoods.daffodildb.server.sql99.dql.resultsetmetadata; 2 3 import java.text.*; 4 import com.daffodilwoods.daffodildb.server.datadictionarysystem.*; 5 import com.daffodilwoods.daffodildb.server.sql99.common.*; 6 import com.daffodilwoods.database.resource.*; 7 8 20 21 public class ColCharacteristicsTempIndex implements _SelectColumnCharacteristics { 22 23 private Object [][] tableDetailsCC; 24 private boolean isDistinctOrGroup; 25 private _AllColumnRowReader rowReader; 26 private boolean allOrSelected; 27 private int[] indexes; 28 29 public ColCharacteristicsTempIndex(Object [][] tableDetailsCC0, boolean isDistinctOrGroup0, int endingIndex0, boolean allOrSelected0) { 30 tableDetailsCC = tableDetailsCC0; 31 isDistinctOrGroup = isDistinctOrGroup0; 32 allOrSelected = allOrSelected0; 33 } 34 35 public boolean isColumnUpdatable(int parm1) throws com.daffodilwoods.database.resource.DException { 36 37 throw new java.lang.UnsupportedOperationException ("Method isColumnUpdatable() not yet implemented."); 38 } 39 40 public boolean isUpdatable() throws com.daffodilwoods.database.resource.DException { 41 42 throw new java.lang.UnsupportedOperationException ("Method isUpdatable() not yet implemented."); 43 } 44 45 public boolean isColumnSelectable(int parm1) throws com.daffodilwoods.database.resource.DException { 46 47 throw new java.lang.UnsupportedOperationException ("Method isColumnSelectable() not yet implemented."); 48 } 49 50 public _SelectColumnCharacteristics getColumnCharacteristics(int parm1) throws com.daffodilwoods.database.resource.DException { 51 52 throw new java.lang.UnsupportedOperationException ("Method getColumnCharacteristics() not yet implemented."); 53 } 54 55 public boolean isForeignTableRecordFetched(int parm1) throws com.daffodilwoods.database.resource.DException { 56 57 throw new java.lang.UnsupportedOperationException ("Method isForeignTableRecordFetched() not yet implemented."); 58 } 59 60 public String getExpression(int parm1) throws com.daffodilwoods.database.resource.DException { 61 62 throw new java.lang.UnsupportedOperationException ("Method getExpression() not yet implemented."); 63 } 64 65 public int getColumnType(int parm1) throws com.daffodilwoods.database.resource.DException { 66 Object [] array = getCCAndIndexFromMapping(parm1); 67 return ( (_ColumnCharacteristics) array[0]).getColumnType(array[1].hashCode()); 68 } 69 70 private Object [] getCCAndIndexFromMapping(int index) throws DException { 71 _ColumnCharacteristics clmchs = null; 72 int columnIndex = -1; 73 for (int i = 0, length = tableDetailsCC.length; i < length; i++) { 74 int startingIndex = tableDetailsCC[i][2].hashCode(); 75 if (index >= startingIndex) { 76 clmchs = (_ColumnCharacteristics) tableDetailsCC[i][1]; 77 columnIndex = index - startingIndex; 78 } else { 79 return new Object [] {clmchs, new Integer (columnIndex)}; 80 } 81 } 82 return new Object [] {clmchs, new Integer (columnIndex)}; 83 } 84 85 public int getColumnIndex(String parm1) throws com.daffodilwoods.database.resource.DException { 86 87 throw new java.lang.UnsupportedOperationException ("Method getColumnIndex() not yet implemented."); 88 } 89 90 public String getColumnName(int parm1) throws com.daffodilwoods.database.resource.DException { 91 Object [] array = getCCAndIndexFromMapping(parm1); 92 return ( (_ColumnCharacteristics) array[0]).getColumnName(array[1].hashCode()); 93 } 94 95 public String getRelatedTable(int parm1) throws com.daffodilwoods.database.resource.DException, com.daffodilwoods.database.general.DatabaseException { 96 Object [] array = getCCAndIndexFromMapping(parm1); 97 return ( (_ColumnCharacteristics) array[0]).getRelatedTable(array[1].hashCode()); 98 } 99 100 public int getColumnCount() throws com.daffodilwoods.database.resource.DException { 101 int length = tableDetailsCC.length - 1; 102 int startingIndex = tableDetailsCC[length][2].hashCode(); 103 return startingIndex + ( (_ColumnCharacteristics) tableDetailsCC[length][1]).getColumnCount(); 104 } 105 106 public String [] getColumnNames() throws com.daffodilwoods.database.resource.DException { 107 108 throw new java.lang.UnsupportedOperationException ("Method getColumnNames() not yet implemented."); 109 } 110 111 public int getSize(int parm1) throws com.daffodilwoods.database.resource.DException { 112 Object [] array = getCCAndIndexFromMapping(parm1); 113 return ( (_ColumnCharacteristics) array[0]).getSize(array[1].hashCode()); 114 } 115 116 public String [] getPrimaryKeys() throws com.daffodilwoods.database.resource.DException, com.daffodilwoods.database.general.DatabaseException { 117 118 throw new java.lang.UnsupportedOperationException ("Method getPrimaryKeys() not yet implemented."); 119 } 120 121 public String getRelation(int parm1) throws com.daffodilwoods.database.resource.DException, com.daffodilwoods.database.general.DatabaseException { 122 Object [] array = getCCAndIndexFromMapping(parm1); 123 return ( (_ColumnCharacteristics) array[0]).getRelation(array[1].hashCode()); 124 } 125 126 public int[] getColumnIndexes(String [] parm1) throws com.daffodilwoods.database.resource.DException { 127 128 throw new java.lang.UnsupportedOperationException ("Method getColumnIndexes() not yet implemented."); 129 } 130 131 public int[] getPrimaryConditionColumns() throws com.daffodilwoods.database.resource.DException { 132 if (!allOrSelected) { 133 throw new DException("DSE3513", null); 134 } 135 if (indexes == null) { 136 int length = tableDetailsCC.length; 137 for (int i = 0; i < length; i++) { 138 _ColumnCharacteristics columnCharacteristics = (_ColumnCharacteristics) tableDetailsCC[i][1]; 139 int[] indexesOfTable = columnCharacteristics.getPrimaryConditionColumns(); 140 int startingIndex = -1; 141 startingIndex = tableDetailsCC[i][2].hashCode(); 142 indexes = indexes == null ? addStartingIndex(indexesOfTable, startingIndex) : 143 constructNewArray(indexes, addStartingIndex(indexesOfTable, startingIndex)); 144 } 145 } 146 return indexes; 147 } 148 149 private int[] constructNewArray(int[] OldIndexes, int[] newTableIndexes) throws DException { 150 int lengthOfOld = OldIndexes.length, lengthOfNew = newTableIndexes.length; 151 int[] newIndexes = new int[lengthOfOld + lengthOfNew]; 152 System.arraycopy(OldIndexes, 0, newIndexes, 0, lengthOfOld); 153 System.arraycopy(newTableIndexes, 0, newIndexes, lengthOfOld, lengthOfNew); 154 return newIndexes; 155 } 156 157 private int[] addStartingIndex(int[] indexes, int startingIndex) throws DException { 158 int length = indexes.length; 159 int[] indexesTemp = new int[length]; 160 for (int i = 0; i < length; i++) { 161 indexesTemp[i] = indexes[i] + startingIndex; 162 } 163 return indexesTemp; 164 } 165 166 public String getTableName(int parm1) throws com.daffodilwoods.database.resource.DException, com.daffodilwoods.database.general.DatabaseException { 167 Object [] array = getCCAndIndexFromMapping(parm1); 168 return ( (_ColumnCharacteristics) array[0]).getTableName(array[1].hashCode()); 169 } 170 171 public short getTableType() throws com.daffodilwoods.database.resource.DException { 172 return TypeConstants.VIEW; 173 } 174 175 public int getPrecision(int parm1) throws com.daffodilwoods.database.resource.DException { 176 Object [] array = getCCAndIndexFromMapping(parm1); 177 return ( (_ColumnCharacteristics) array[0]).getPrecision(array[1].hashCode()); 178 } 179 180 public int getScale(int parm1) throws com.daffodilwoods.database.resource.DException { 181 Object [] array = getCCAndIndexFromMapping(parm1); 182 return ( (_ColumnCharacteristics) array[0]).getScale(array[1].hashCode()); 183 } 184 185 public String getSchemaName(int parm1) throws com.daffodilwoods.database.resource.DException { 186 Object [] array = getCCAndIndexFromMapping(parm1); 187 return ( (_ColumnCharacteristics) array[0]).getSchemaName(array[1].hashCode()); 188 } 189 190 public String getCatalogName(int parm1) throws com.daffodilwoods.database.resource.DException { 191 Object [] array = getCCAndIndexFromMapping(parm1); 192 return ( (_ColumnCharacteristics) array[0]).getCatalogName(array[1].hashCode()); 193 } 194 195 public int isNullable(int parm1) throws com.daffodilwoods.database.resource.DException { 196 Object [] array = getCCAndIndexFromMapping(parm1); 197 return ( (_ColumnCharacteristics) array[0]).isNullable(array[1].hashCode()); 198 } 199 200 public boolean isAutoIncrement(int parm1) throws com.daffodilwoods.database.resource.DException { 201 Object [] array = getCCAndIndexFromMapping(parm1); 202 return ( (_ColumnCharacteristics) array[0]).isAutoIncrement(array[1].hashCode()); 203 } 204 205 public String getColumnLabel(int parm1) throws com.daffodilwoods.database.resource.DException { 206 Object [] array = getCCAndIndexFromMapping(parm1); 207 return ( (_ColumnCharacteristics) array[0]).getColumnLabel(array[1].hashCode()); 208 } 209 210 public String getQualifiedTableName(int parm1) throws com.daffodilwoods.database.resource.DException { 211 Object [] array = getCCAndIndexFromMapping(parm1); 212 return ( (_ColumnCharacteristics) array[0]).getQualifiedTableName(array[1].hashCode()); 213 } 214 215 public String [] getRelatedColumns(int parm1) throws com.daffodilwoods.database.resource.DException, com.daffodilwoods.database.general.DatabaseException { 216 Object [] array = getCCAndIndexFromMapping(parm1); 217 return ( (_ColumnCharacteristics) array[0]).getRelatedColumns(array[1].hashCode()); 218 } 219 220 public void setRowReader(_AllColumnRowReader rowReader0) throws DException { 221 rowReader = rowReader0; 222 } 223 224 public Collator getCollator() throws DException { 225 226 throw new UnsupportedOperationException ("Method not yet implemented"); 227 } 228 229 public Object [] getCorresspondingColumnsForFromSubQueryColumn(Object column) throws DException { 230 throw new UnsupportedOperationException ("Method not yet implemented"); 231 } 232 233 public _ColumnCharacteristics getCCFromIndexes(_ColumnCharacteristics cc, int offset, int[] columnIndexes) throws DException { 234 throw new UnsupportedOperationException ("getCCFromIndexes(cc, offset, columnIndexes) method not implemented yet"); 235 } 236 } 237 | Popular Tags |