public List<Column> getColumns() throws SQLException {
		synchronized(getColumnsLock) {
			if(getColumnsCache==null) {
				SortedMap<String,Column> columnMap = getColumnMap();
				List<Column> newColumns = new ArrayList<>(columnMap.size());
				for(int i=0; i<columnMap.size(); i++) newColumns.add(null);
				for(Column column : columnMap.values()) {
					int ordinalPosition = column.getOrdinalPosition();
					if(newColumns.set(ordinalPosition-1, column)!=null) throw new SQLException("Duplicate ordinal position: "+ordinalPosition);
				}
				for(int i=0; i<newColumns.size(); i++) {
					if(newColumns.get(i)==null) throw new SQLException("Missing ordinal position: "+(i+1));
				}
				getColumnsCache = AoCollections.optimalUnmodifiableList(newColumns);
			}
			return getColumnsCache;
		}
	}
public List<Column> getColumns() throws SQLException {
		synchronized(getColumnsLock) {
			if(getColumnsCache==null) {
				SortedMap<String,Column> columnMap = getColumnMap();
				List<Column> newColumns = new ArrayList<>(columnMap.size());
				for(int i=0; i<columnMap.size(); i++) newColumns.add(null);
				for(Column column : columnMap.values()) {
					int ordinalPosition = column.getOrdinalPosition();
					if(newColumns.set(ordinalPosition-1, column)!=null) throw new SQLException("Duplicate ordinal position: "+ordinalPosition);
				}
				for(int i=0; i<newColumns.size(); i++) {
					if(newColumns.get(i)==null) throw new SQLException("Missing ordinal position: "+(i+1));
				}
				getColumnsCache = AoCollections.optimalUnmodifiableList(newColumns);
			}
			return getColumnsCache;
		}
	}
public List < Column > getColumns ( ) throws SQLException { synchronized ( getColumnsLock ) { if ( getColumnsCache == null ) { SortedMap < String , Column > columnMap = getColumnMap ( ) ; List < Column > newColumns = new ArrayList <> ( columnMap . size ( ) ) ; for ( int i = 0 ; i < columnMap . size ( ) ; i ++ ) newColumns . ( null ) ; for ( Column column : columnMap . values ( ) ) { int ordinalPosition = column . getOrdinalPosition ( ) ; if ( newColumns . set ( ordinalPosition - 1 , column ) != null ) throw new SQLException ( "Duplicate ordinal position: " + ordinalPosition ) ; } for ( int i = 0 ; i < newColumns . size ( ) ; i ++ ) { if ( newColumns . get ( i ) == null ) throw new SQLException ( "Missing ordinal position: " + ( i + 1 ) ) ; } getColumnsCache = AoCollections . optimalUnmodifiableList ( newColumns ) ; } return getColumnsCache ; } }
Gets all columns for this schema in their ordinal position order.
Column with ordinal position one is at index zero.

@see  #getColumnMap()
Gets all columns for this schema in their ordinal position order . Column with ordinal position one is at index zero .