public TTable readTable(
			UserCoreConnection<TColumn, TTable, TRow, TResult> db) {

		List<TColumn> columnList = new ArrayList<TColumn>();

		TResult result = db.rawQuery(
				"PRAGMA table_info(" + CoreSQLUtils.quoteWrap(tableName) + ")",
				null);
		try {
			while (result.moveToNext()) {
				int index = result.getInt(result.getColumnIndex(CID));
				String name = result.getString(result.getColumnIndex(NAME));
				String type = result.getString(result.getColumnIndex(TYPE));
				boolean notNull = result
						.getInt(result.getColumnIndex(NOT_NULL)) == 1;
				boolean primaryKey = result.getInt(result.getColumnIndex(PK)) == 1;

				// If the type has a max limit on it, pull it off
				Long max = null;
				if (type != null && type.endsWith(")")) {
					int maxStart = type.indexOf("(");
					if (maxStart > -1) {
						String maxString = type.substring(maxStart + 1,
								type.length() - 1);
						if (!maxString.isEmpty()) {
							try {
								max = Long.valueOf(maxString);
								type = type.substring(0, maxStart);
							} catch (NumberFormatException e) {
								logger.log(Level.WARNING,
										"Failed to parse type max from type: "
												+ type, e);
							}
						}
					}
				}

				// Get the geometry or data type and default value
				int defaultValueIndex = result.getColumnIndex(DFLT_VALUE);

				TColumn column = createColumn(result, index, name, type, max,
						notNull, defaultValueIndex, primaryKey);
				columnList.add(column);
			}
		} finally {
			result.close();
		}
		if (columnList.isEmpty()) {
			throw new GeoPackageException("Table does not exist: " + tableName);
		}

		return createTable(tableName, columnList);
	}
public TTable readTable ( UserCoreConnection < TColumn , TTable , TRow , TResult > db ) { List < TColumn > columnList = new ArrayList < TColumn > ( ) ; TResult result = db . rawQuery ( "PRAGMA table_info(" + CoreSQLUtils . quoteWrap ( tableName ) + ")" , null ) ; try { while ( result . moveToNext ( ) ) { int index = result . getInt ( result . getColumnIndex ( CID ) ) ; String name = result . getString ( result . getColumnIndex ( NAME ) ) ; String type = result . getString ( result . getColumnIndex ( TYPE ) ) ; boolean notNull = result . getInt ( result . getColumnIndex ( NOT_NULL ) ) == 1 ; boolean primaryKey = result . getInt ( result . getColumnIndex ( PK ) ) == 1 ; Long max = null ; if ( type != null && type . endsWith ( ")" ) ) { int maxStart = type . indexOf ( "(" ) ; if ( maxStart > - 1 ) { String maxString = type . substring ( maxStart + 1 , type . length ( ) - 1 ) ; if ( ! maxString . isEmpty ( ) ) { try { max = Long . valueOf ( maxString ) ; type = type . substring ( 0 , maxStart ) ; } catch ( NumberFormatException e ) { logger . log ( Level . WARNING , "Failed to parse type max from type: " + type , e ) ; } } } } int defaultValueIndex = result . getColumnIndex ( DFLT_VALUE ) ; TColumn column = createColumn ( result , index , name , type , max , notNull , defaultValueIndex , primaryKey ) ; columnList . add ( column ) ; } } finally { result . close ( ) ; } if ( columnList . isEmpty ( ) ) { throw new GeoPackageException ( "Table does not exist: " + tableName ) ; } return createTable ( tableName , columnList ) ; }
Read the table

@param db
user connection
@return table