MapInfo Native TAB

Native TAB is the most common of the TAB forms. Extended native TAB is the same as native TAB, except it supports very large files (> 2 GB) and multiple languages. Both forms of native TAB exhibit the same behavior.

Spectrum Spatial treats native TAB as a read-only data source.

Data Types

Spectrum Spatial supports geometry types in native TAB files: Point, MultiPoint, Linestring, MultiLineString, Polygon, MultiPolygon and MultiFeatureGeometry. The following are the mappings from TAB data types to Spectrum Spatial equivalents.

TAB Data Type Spectrum Spatial Data Type
OBJ Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, GeometryCollection.

Rectangle, rounded rectangle, ellipse, arc, and text object supported as rendering only constructs.

integer Integer
smallint Short
float Double
decimal Double
char String
largeint Long
integer64 Long
date Date
time Time
datetime Date_Time
logical Boolean

Primary Key

Native TAB has an implied primary key that is the row ID. This column does not appear in the data, similar to the ROWNUM in Oracle.

MI SQL Optimizations

The native TAB data source provider contains optimizations for the following MI SQL constructs:

For more information see the appendix Delegation to Data Source Providers.

Data Source Volatility

Volatility for a native TAB data source means any change to the table's schema or records as evidenced by a change in timestamp. When volatility is enabled (true), the data source provider will cache information about a specific TAB group of files. It compares the time stamps of the cached information against the time stamp of the files being accessed. If they are different, the information is flushed from the cache and reloaded.

The following native TAB files are checked for volatility: .TAB, .DAT, .MAP.

See Data Source Volatility for more information.

File Handle Pool

If your native TAB files do not change frequently, set the volatility to false and take advantage of a file handle pool that minimizes the file opening and closing during operations. This is only available to non-volatile native and seamless TAB files and shapefiles.

The file handle pool is enabled by default. Configuration of the file handle pool is done through the tab-file-handle-pool.properties file, located in the \server\modules\spatial folder. Among the properties are the maximum number of handles that can be allocated to the pool (maxTotal), the maximum number of allocated handles per file (maxTotalPerKey), and the minimum length of time a file handle can sit in the pool unused before being closed (minEvictableIdleTimeMillis). Statistics for the file handle cache for native TAB can be viewed in the JMX console (for more information, see Monitoring File Handle Caching Statistics with the JMX Console in the Administration section of the Spectrum Spatial Guide).

To turn the file handle pool off, open the \server\modules\spatial\pool-tab.properties file and set tab.cache.enabled to false. You must restart the server for the setting to take effect. (Alternatively, you can use the JMX console to disable the file handle pool without restarting the server and clear the file handle cache.