The following enhancements have been made to the R:BASE 11 command syntax:
•Added EXCEPT clause for the SELECT ALL command, to exclude a subset of columns from a query
SELECT ALL FROM Customer EXCEPT CustURL, CustEMail
•New RESET command to retain the date/time for tables and views when generating structure information with the UNLOAD command. The UNLOAD will create the RESET code, so that the rebuilt table and view assigns the original value.
RESET SalesDataByCompany LAST_MOD TO '01/01/2022 08:00'
•Enhanced LIST command which displays the last data modification date/time stamp, last schema modification date/time stamp, and comment for the database
Database Comment: Running R:BASE Your Way 20
Last database modification: 08/07/2023 09:42 AM
Last schema modification: 08/07/2023 09:37 AM
•New SET STATICVAR command to define static variables, which are part of a connected database
SET STATICVAR vCompanyName TEXT = CompanyName IN LicenseInformation WHERE LicenseNumber = 'BM-68215'
•Enhanced DIR command to support sort ordering with ASC and DESC parameters
DIR *.RX1 DESC
•Enhanced PROJECT command with EXCEPT parameter support to specify columns that will not be included in the projected table
PROJECT TEMPORARY CustDetail FROM Customer USING * EXCEPT CustFax
•Support for local variables within MDI forms with SET VARIABLE MDI
SET VARIABLE MDI vCounter INTEGER = 0
•Added CREATE INDEX support for NOT NULL (partial) indexes, where the index is populated with references to rows where the column value is not NULL. NULL values are not added to the index.
CREATE NOT NULL INDEX CustDeactive ON Customer (CustDeactiveDate DESC)
•Enhanced LIST VIEWS which shows the tables/views that are used in each view
LIST VIEWS
Name Columns Rows Comments
--------------------------------------------------- ------- --------- ---------------------------------
CustomerContact 8 N/A Customers and Contacts
Tables:Customer,Contact
InvoicesMaster 32 N/A Invoice Master
Tables:InvoiceHeader,InvoiceDetail,Product,Employee
OrganizationView 6 N/A Organization View
Tables:Staff,Departments,StaffByDept
ProductInvoice 21 N/A Product Invoice
Tables:InvoiceHeader,InvoiceDetail,Customer,Product,Contact
SalesByEmployee 6 N/A Products Sold by Employee
Tables:Employee,InvoiceHeader
SalesDataByCompany 9 N/A Sales Data by Company
Tables:InvoiceHeader,Customer
StaffByDept 11 N/A Staff by Department
Tables:Staff,Departments
•Enhanced COMMENT ON command to specify a comment for the connected database
COMMENT ON DATABASE IS 'User and Contact Management System'
•New EXPLAIN command which outputs the optimizer selections for the specified query
EXPLAIN SELECT ALL FROM Customer WHERE CustState = 'WA'
•Enhanced BROWSE and EDIT commands with EXCEPT parameter support to specify columns that will not be included in the Data Browser
BROWSE ALL FROM Contact EXCEPT ContInfo, ContPhoto
•Enhanced PRINT... OPTION SCREEN with additional parameters to disable the Find Text and Report Outline buttons, just like other enabled/disable buttons parameters
PRINT Invoice WHERE TransID = 1002 OPTION SCREEN|BTNFIND_VISIBLE FALSE|BTNOUTLINE_VISIBLE FALSE
•Enhanced GRANT user privileges allowing CREATE privileges on TEMPORARY TABLES to be separate from CREATE privileges on permanent tables
GRANT TEMPORARY CREATE TO Noah
•Enhanced LIST command to display QualKey columns
LIST COLUMN QUALKEYS
•New DBCONN command which displays all applications (application, path, and file name) with connections to the connected database
•Enhanced UNLOAD DATA command to specify custom quote and delimiter character values for ASCII/CSV formats
UNLOAD DATA FOR InvoiceHeader AS CSV DELIMIT=|
•Enhanced LIST command which includes the number of views, stored procedures, forms, reports, and labels
Number of Tables in Database RRBYW20 is 56.
Number of Columns in Database RRBYW20 is 388.
Number of Indexes in Database RRBYW20 is 62.
Number of Views in Database RRBYW20 is 29.
Number of Stored Procedures in Database RRBYW20 is 2.
Number of Forms in Database RRBYW20 is 96.
Number of Reports in Database RRBYW20 is 58.
Number of Labels in Database RRBYW20 is 10.
•Enhanced SHOW VARIABLE command which supports wildcard characters for the variable name, even when the =w parameter is present
SHOW VARIABLE vCust%=10 ASC
•Added ROWS_PER_FILE parameter for the GATEWAY exports where the records may be broken up into separate files based on the quantity of records in each file. The supported export formats include: XLS, XLSW, SLK, DIF, WK1, WQ1, LDIF, JSON, and ODT.
GATEWAY EXPORT JSON Employee.JSON +
SELECT * FROM Employee WHERE ActivEmp = 'A' +
OPTION SHOW_PROGRESS ON +
|ROWS_PER_FILE 5
•Enhanced DEBUG setting variable debugging feature where a warning will display if a SET VAR <NAME> <TYPE> declaration is executed when the variable already exists and the variable type changes. The warning will only appear if DEBUG is set ON. The feature is helpful to avoid accidentally clearing a variable when it is used elsewhere, especially in heavily nested code.
•Enhanced GATEWAY EXPORT formula detection support for Excel formats to dismiss equal characters that exist in table values, which are not actual formulas. The default is ON.
GATEWAY EXPORT XLS DataCalculation.XLS +
SELECT * FROM DataRates +
OPTION COL_NAMES ON |DETECT_FORMULA OFF
•Enhanced ExtForm plugin to include a SET_VERSION_NUMBER parameter, where the version number for an external form can be adjusted/reset
PLUGIN EXTFORM vResult|FILE TileMenu.rff +
|ACTION SET_VERSION_NUMBER|VERSION 101
•Enhanced FEEDBACK setting where AUTONUM is added to the list of command which will show feedback
•Enhanced GATEWAY IMPORT support for the XML format to flatten the structure and process attribute options for improved loading of data nodes
GATEWAY IMPORT XML ShipmentLoad.XML REPLACE Shipments +
OPTION NODE_PATH \FILE +
|PROCESS_ATTRIBUTES ON +
|FLATTEN_STRUCTURE ON
•Enhanced DIALOG and PAUSE commands where the WINDOWS icon image will vary based upon the operating system
PAUSE 3 USING 'Calculating ... Please Stand By ...' +
CAPTION ' ' ICON WINDOWS +
OPTION MESSAGE_FONT_NAME VERDANA +
|MESSAGE_FONT_SIZE 10 +
|MESSAGE_FONT_COLOR BLACK
•Added EXTRA_SHEETS parameter for the GATEWAY EXPORT XLSW option, which specifies whether blank sheets (Sheet2, Sheet3) are automatically included in the exported workbook
GATEWAY EXPORT XLSW CustomerList.xlsw +
SELECT * FROM Customer ORDER by Company +
OPTION COL_NAMES ON +
|TAB_NAME Customer List +
|EXTRA_SHEETS OFF
•Increased size limit to 30,000 characters (was 10,000) for the SELECT...LISTOF function return value
•Enhanced SELECT command functions (MIN, MAX, LISTOF, etc.) will now use up to the first 2,000 characters (was 80) for each NOTE value
•Enhanced RBTI_TIMEOUT variable functionality to execute a routine in the form of a command file, RUN SELECT, or CALL to a stored procedure when a TIMEOUT occurs
SET VARIABLE RBTI_TIMEOUT TEXT = 'CALL TimeOutCode()'
•Enhanced AUTOCHK command to check an index in descending order, by finding the last leaf and walking backwards in the B-tree index structure. The default index checking finds the first leaf and walks all of the leaves in a forward direction.
AUTOCHK INDEX IndexName DESC
•Enhanced INSERT and LOAD commands with the ability to enable rebuilding of non-constraint indexes "after" rows are added, rather than row-by-row. The new REINDEX command parameter at the end of the commands specifies that R:BASE will temporarily add the new rows without updating every non-constraint index row by row, and only updates constraint indexes row by row. When the new rows are done being added, the non-constraint indexes are then rebuilt. The rebuilding of the non-constraint indexes after the rows are added increases the overall speed of adding many rows to a table.
INSERT INTO Declarations +
(DecID, CredID, DeclarationType, DeclarationStatus, Declaration, PolicyID) +
SELECT DISTINCT +
DecID, CredID, DeclarationType, DeclarationStatus, Declaration, PolicyID +
FROM TempDeclarations +
WHERE DecID IS NOT NULL AND PolicyID IS NULL REINDEX
•Improved default tab logic for the BLOB Editor when launched with the RBBEDIT command, where specifying the default tab is applied regardless of the file type. For example, if the intent is to open a rich text file in the Hex Editor, the following may be used:
RBBEDIT FileName.RTF HEX