Centura SQL Windows
Gupta Technologies' SQLWindows, one of the first GUI database development tools for Microsoft Windows, and its outline-structured, message-driven 4GL SAL - a language that has passed through Gupta, Centura, Unify and OpenText and is still shipping as Gupta Team Developer.
Created by Gupta Technologies (founded by Umang Gupta, 1984)
SQLWindows was the application development environment Gupta Technologies put on the market in 1988, and SAL, its programming language, is one of the earliest languages designed specifically for writing graphical database front ends for Microsoft Windows. A developer drew forms, data fields, buttons and table windows, and wrote short procedures that ran when those objects received Windows messages, with SQL statements embedded directly in the code. The product was later sold as Centura SQLWindows and Centura Team Developer, then as Gupta Team Developer, and it has never actually been discontinued: its current owner, OpenText, released Team Developer 7.5.6 in May 2026.
History & Origins
Gupta Technologies and SQLBase
Umang Gupta spent three years at Oracle, ending as vice president and general manager of its microcomputer products division, before founding Gupta Technologies in Menlo Park in 1984. Bruce Scott, who had been a senior member of technical staff at Oracle from 1977 to 1982, joined the company as a vice president in December 1984 and later ran its research and development. The company’s first product was SQLBase, a SQL database engine introduced in 1986 that could run as a single-user database on a PC or be shared from a network server. By 1988 Gupta reported revenue of about $5 million for 1987 and more than 800 SQLBase sites in the US.
SQLWindows (1988)
SQLWindows added the other half of a client/server system: a graphical tool for building the applications that sat on users’ PCs and talked to SQLBase or to minicomputer and mainframe databases. A Computer Business Review report dated 18 July 1988 described it as a “fourth generation language applications development environment for Microsoft Windows and IBM’s Presentation Manager”, part of Gupta’s SQL System series, with which programmers could create data entry forms, specify editing and validation checks, and define reports. The UK distributor, Henley Business Software, priced the SQLWindows Design development package at £595 and a five-user runtime pack at £750.
Because the product was already being distributed in Britain by July 1988, 1988 is a sound year for its first release. An exact US ship date has not been found in the sources consulted, and it is possible the product was announced in late 1987. SQLWindows is widely described, including in the Wikipedia article on Gupta Technologies, as one of the first GUI development tools for Microsoft Windows; it predates both Visual Basic and PowerBuilder, which appeared in 1991.
Growth and competition
Gupta Corp went public in February 1993: its shares were offered at $18 on 4 February and began trading on NASDAQ as GPTA on 5 February. Its annual revenue was $32.8 million in 1992 and $47.5 million in 1993.
The success did not last. PowerBuilder, built around its DataWindow control, became the market leader for client/server tools, and Gupta posted seven consecutive quarterly losses across 1994 and 1995. In April 1995 Computer Associates invested $17 million in the company, $7 million of it for non-exclusive rights to SQLBase, which CA resold as OpenIngres/Desktop.
Centura (1996)
On 15 April 1996 Gupta Corp renamed itself Centura Software Corporation, after its new 32-bit product family. Computer Business Review reported in May 1996 that Centura Team Developer and Centura Ranger, a replication product, had gone into production late that month, a month or two behind the planned March date. Team Developer added support for three-tier applications, an object compiler, an object repository managed by a Team Object Manager, and “QuickObjects” for accessing Internet data without writing code.
Centura presented Team Developer as a “big brother” and “companion product” to SQLWindows rather than a replacement. SQLWindows was still a 16-bit product with some 32-bit features, and a further release code-named Cyclone was promised for summer 1996 with SAP R/3 support and a new object compiler. In practice the two lines merged. The product became Team Developer, the IDE inside it kept the name SQLWindows, and developers still call the product “Gupta”, “Centura” and “SQLWindows” interchangeably. The encyclopedia name Centura SQL Windows comes from that period.
Four owners in fifteen years
Centura did not recover. On 21 February 2001 Platinum Equity bought the SQLBase and Team Developer product lines, with offices in the UK, Australia, Germany, the Netherlands, Austria and Mexico, and the business returned to the name Gupta Technologies LLC. What remained of Centura Software filed for Chapter 11 bankruptcy protection in August 2001.
Warp Technology Holdings (renamed Halo Technology Holdings in 2005) acquired Gupta in January 2005, and Unify Corporation acquired it in September 2006. Unify merged with the e-discovery company Daegis in 2010, and in November 2012 renamed its database and development tools division back to Gupta Technologies. In October 2015 OpenText agreed to buy Daegis, completing the purchase in November 2015. OpenText’s 2024 sale of its former Micro Focus mainframe-modernization business to Rocket Software did not include the Gupta products, which remain with OpenText.
Design Philosophy
SAL (usually expanded as Scalable Application Language, and sometimes as SQLWindows Application Language) was designed around two ideas: the Windows message loop and SQL as a first-class citizen.
- Code lives in an outline, not a text file. SAL programs are edited in a tree-structured outliner in which every window, control, function and variable is a node that can be collapsed and expanded. Indentation carries the structure, and the IDE restricts what can be typed at each point. Gupta’s product manager told InfoWorld in 2004 that “we have a proprietary outliner that structures code”, adding that it lets developers “collapse and extend different areas of code.”
- Behaviour is attached to messages. Every window object has a Message Actions section. The programmer writes
On SAM_Click,On SAM_CreateorOn SAM_AppStartupand places the actions beneath it. Messages can come from Windows (for exampleWM_LBUTTONDOWN), from SQLWindows’s ownSAM_messages, or from the programmer. - A deliberately small language. Gupta’s Team Developer evaluator’s guide describes SAL as having eleven verbs that control the flow of execution: calling functions, setting variables, conditional branching and iteration. Nearly all the power sits in libraries. All built-in functions begin with
Sal(for exampleSalMessageBox,SalTblPopulate) and all database functions begin withSql(for exampleSqlConnect,SqlPrepareAndExecute). - SQL goes straight into the program. SQL statements are ordinary strings passed to
Sql*functions. Program variables and the contents of on-screen fields are bound into them with a colon prefix (:dfName), including asINTOtargets, so a fetched column can land directly in a data field on a form.
Key Features
A minimal example
The classic first program attaches a message box to a button click:
Pushbutton: pbHello
Message Actions
On SAM_Click
Call SalMessageBox( 'Hello, World!', 'Greeting', MB_Ok )
Database access
The following sketch, which is illustrative rather than copied from a manual, shows how a form typically looked up a row. The SQL INTO clause writes the result straight into a data field on the window:
Form Window: frmCustomer
Contents
Data Field: dfId
Data
Data Type: Number
Data Field: dfName
Data
Data Type: String
Pushbutton: pbFind
Message Actions
On SAM_Click
Call SqlPrepareAndExecute( hSql,
'SELECT NAME FROM CUSTOMER INTO :dfName WHERE ID = :dfId' )
If SqlFetchNext( hSql, nFetch )
Call SalMessageBox( 'Found ' || dfName, 'Customer', MB_Ok )
Else
Call SalMessageBox( 'No such customer', 'Customer', MB_Ok )
Window Variables
Number: nFetch
Connection details are usually set once, at application start-up, through predefined system variables:
On SAM_AppStartup
Set SqlDatabase = 'ISLAND'
Set SqlUser = 'SYSADM'
Set SqlPassword = 'SYSADM'
Call SqlConnect( hSql )
(ISLAND is the sample SQLBase database, containing data for a fictional clothing supplier called Island Outfitters, that ships with the product.)
Other features
| Feature | What it does |
|---|---|
| Table windows | A grid control bound to SQL: SalTblPopulate( tbl1, hSql, sSelect, TBL_FillNormal ) fills it from a query in a single call |
| Classes | Later versions add object-oriented classes derived from the standard window types, plus “functional classes” with no visual part; a graphical class browser displays the inheritance hierarchy |
| Multi-database access | The same Sql* API reaches SQLBase and other vendors’ databases; in the 1990s the product family reportedly included an edition specifically for Microsoft SQL Server 6 |
| Dynalibs and APL libraries | Code can be split into include libraries that several developers work on at once; the Visual Toolchest class library alone reportedly provides more than 250 functions and 17 classes |
| Object compiler | Team Developer’s object compiler translates SAL functions and classes to C and then to native code. In 2004 Gupta described the language as compiling “down to the C++ language” |
| Team Object Manager | Check-in and check-out, version history and graphical diff-and-merge over a shared repository |
| Report Builder | The bundled report writer, which can be run from the command line |
Evolution
| Period | Product name | Notable changes |
|---|---|---|
| 1988 to mid-1990s | Gupta SQLWindows (through 5.x) | 16-bit Windows tool; a SQLWindows for Solaris was reportedly produced with Mainsoft’s MainWin Windows-to-Unix layer |
| 1996 to 2000 | Centura Team Developer 1.0 to 2.1 | 32-bit, three-tier support, object repository, QuickObjects; 1.5.1 shipped in June 1998 and 2.0 (“TD 2000”) in May 1999 |
| 2001 to 2007 | Gupta Team Developer 3.0 to 4.2 | TD 2005 (4.0, January 2005) adds Linux deployment for Red Hat and SuSE, with GNOME and KDE front ends |
| 2007 to 2012 | Unify Team Developer 5.1 to 6.1 | 5.1 (October 2007) moves to Unicode; 6.0 (November 2010) adds .NET build targets alongside Win32 |
| 2013 to present | Gupta / OpenText Gupta Team Developer 6.2 to 7.5 | 7.0 (October 2016) adds Win64; 7.2 (September 2019) adds UTF-8 source; 7.5 (April 2023) adds .NET 4.7 targets |
The version dates from Centura Team Developer 1.5.1 onward come from the release table kept by the Team Developer community wiki (tdcommunity.net). No reliable release dates were found for the SQLWindows 1.x to 5.x releases, so they are not given here.
Current Relevance
The encyclopedia lists SQLWindows as Historical. That is true of the SQLWindows and Centura names, but not of the language. SAL is still sold, supported and updated as OpenText Gupta Team Developer. The 7.5 release line began in April 2023, with support reportedly announced through April 2028, and service pack 7.5.6 appeared in May 2026. An independent community (the TD Community forum and wiki) keeps release notes, sample code and file-format details for every version.
Most present-day use is maintenance of line-of-business applications written in the 1990s and 2000s. Those applications are also the target of a small industry of migration vendors that convert SQLWindows code to .NET, Java or web front ends, and that industry is evidence of how much SAL code is still in production.
Why It Matters
SQLWindows was a working answer, on Windows and in 1988, to a question the industry spent the next decade on: how could an ordinary corporate programmer build a graphical front end to a SQL database without writing C against the Windows API? Its answers were to put the SQL inside the language, attach code to window messages, and hide everything else behind a structured editor. Visual Basic and PowerBuilder, both released in 1991, reached far larger audiences with the same answers, and PowerBuilder took the client/server market that Gupta had helped create.
SAL is also a lesson in how long code survives. A proprietary 4GL whose vendor renamed itself in 1996 and then changed hands four times between 2001 and 2015 is still receiving service packs nearly four decades after its first release, because the applications written in it are still running.
Timeline
Notable Uses & Legacy
Infor VISUAL (formerly Lilly Software VISUAL Enterprise)
In a December 2004 InfoWorld interview, Infor Global Solutions' vice president of development said the company used Team Developer to build its Visual Enterprise ERP system for discrete manufacturing, which it acquired with Lilly Software
1990s corporate client/server applications
Gupta's 1995 annual report listed applications built on its products across industries, including child welfare case management in government, portfolio and credit tracking in financial services, chemical hazard assessment, and call tracking for telecommunications technical support
SAP R/3 front ends
Centura announced in 1996 that the next SQLWindows release, code-named Cyclone, would include support for SAP's R/3, positioning SAL as a way to build Windows front ends to SAP systems
Long-lived line-of-business software
An installed base that Gupta put at 10,000 to 12,000 Team Developer users in 2004 kept the product line alive through four changes of ownership; OpenText still issues Team Developer service packs, and a specialist migration industry exists to move SQLWindows applications to other platforms