The maximum number of records that can be shown in the table window is now 2 billion. (This number is a few records lower than the maximum number of records that can be stored in a table in a MAP file, the tiny difference is due to internal housekeeping. In the future we are planning to both allow a table in a MAP file contain essentially as many records as will fit on disk, and allow a table window to show all these records.)
The table window can either show all records in a table (up to 2 billion) or show the first sample of records. Showing the first sample of records instead of all records is useful when working with external data sources like PostgreSQL, or, say, MANIFOLDSRV, not fetching all records immediately protects from wasting server resources and network traffic needlessly. Tables from MAP files show all records by default, while tables from other data sources show the first sample of records. This also applies to the result tables of queries, including ad-hoc queries in command windows.
(The rule above is not absolutely bulletproof. For example, a query stored in a MAP file may access records in a table stored on SQL Server. When the user runs such a query, the table window will try to fetch all records in the result table, because the query itself is stored in a MAP file, even though the records come from SQL Server. We feel that in cases like this, the responsibility for not overloading the server for no good reason is on whoever writes or runs the query.)
The Options dialog includes the 'Initial number of records to show (non-MAP)' option to specify the size of the first sample of records fetched for non-MAP data sources. The available values are: auto (default), all, or a specific number of records. The 'auto' value is currently set to 5,000 records. (The previous default was as high as 50,000 records because it applied to tables in MAP files as well. 5,000 records is much friendlier to database servers. If you find that 5,000 records is too low for the data sources you are working with, you can always change the option to a higher value.)
The Info pane shows the number of fetched records in the table window. If there are more records available, the Info pane also shows '(+)'. If the table window is showing the first sample of records instead of all records, the Info pane also shows a button to fetch all records. Once a table window has been told to fetch all records for the displayed table, it will keep fetching all records for all further operations that refresh or replace the table.
The Info pane shows the number of displayed records in the table window = the number of fetched records that pass the filter.
The Info pane shows the Component tab for a command window with a table.
The table window detects changes to displayed data from a non-MAP data source and shows an action bar below the record list with a prompt to refresh data manually. To refresh data, use the View - Refresh Data command or click the prompt.
The table window displaying data from a MAP file does not automatically refresh data after changes if the number of records in the table exceeds 64k. Instead, the window shows an action bar with a prompt to refresh data manually.
The table window detects deleted records and shows them in gray, with icon on the record handle.
The context menu for the fill record in the table window no longer includes the Stop Reading Records command.
The table window always applies filters only to the fetched records. The Filter Fetched Records Only command is removed. (Now that the table window can show up to 2 billion records, always using only the fetched records is no longer a limitation in the vast majority of cases. Tables bigger than 2 billion records can still be filtered using a query composed with the Filter using Query command.)
The table window always applies orders only to the fetched records. (If the table window shows the first sample of records instead of all records and you want to sort the entire table, fetch all records first.) The maximum allowed size of field values used for ordering is 16 GB.