Est. 1988 Intermediate

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)

Paradigm Procedural, event-driven (message-based); object-oriented classes in later versions
Typing Static, declared data types (Number, String, Date/Time, Boolean, handles)
First Appeared 1988
Latest Version OpenText Gupta Team Developer 7.5.6 (May 2026)

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_Create or On SAM_AppStartup and places the actions beneath it. Messages can come from Windows (for example WM_LBUTTONDOWN), from SQLWindows’s own SAM_ 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 example SalMessageBox, SalTblPopulate) and all database functions begin with Sql (for example SqlConnect, 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 as INTO targets, 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

FeatureWhat it does
Table windowsA grid control bound to SQL: SalTblPopulate( tbl1, hSql, sSelect, TBL_FillNormal ) fills it from a query in a single call
ClassesLater 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 accessThe 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 librariesCode 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 compilerTeam 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 ManagerCheck-in and check-out, version history and graphical diff-and-merge over a shared repository
Report BuilderThe bundled report writer, which can be run from the command line

Evolution

PeriodProduct nameNotable changes
1988 to mid-1990sGupta 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 2000Centura Team Developer 1.0 to 2.132-bit, three-tier support, object repository, QuickObjects; 1.5.1 shipped in June 1998 and 2.0 (“TD 2000”) in May 1999
2001 to 2007Gupta Team Developer 3.0 to 4.2TD 2005 (4.0, January 2005) adds Linux deployment for Red Hat and SuSE, with GNOME and KDE front ends
2007 to 2012Unify Team Developer 5.1 to 6.15.1 (October 2007) moves to Unicode; 6.0 (November 2010) adds .NET build targets alongside Win32
2013 to presentGupta / OpenText Gupta Team Developer 6.2 to 7.57.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

1984
Umang Gupta, formerly vice president and general manager of Oracle's microcomputer products division, founds Gupta Technologies in Menlo Park, California
1986
Gupta introduces the SQLBase SQL engine, usable as a single-user database or as a shared database on a local network server
1988
SQLWindows, described as a fourth-generation-language application development environment for Microsoft Windows and IBM's Presentation Manager, is on the market; by July 1988 Henley Business Software is distributing it in the UK at £595 for the development package
1993
Gupta Corp goes public: shares are first offered on 4 February 1993 at $18 and begin trading on NASDAQ as GPTA the next day
1996
Gupta Corp becomes Centura Software on 15 April 1996, taking its new name from its 32-bit product line. Centura Team Developer, the 32-bit successor to the still 16-bit SQLWindows, goes into production in late May 1996
2001
Platinum Equity acquires the SQLBase and Team Developer product lines from Centura on 21 February 2001; the business operates as Gupta Technologies LLC. Centura Software files for Chapter 11 in August 2001
2005
Gupta Team Developer 4.0 ("TD 2005") ships in January 2005 and adds Linux as a deployment target alongside Windows
2006
Unify Corporation acquires Gupta Technologies (September 2006)
2007
Unify Team Developer 5.1 (October 2007) moves the source format to Unicode
2015
OpenText announces the acquisition of Daegis Inc. (Unify's successor company, owner of the Gupta product line) on 8 October 2015 and completes it the following month
2016
Gupta Team Developer 7.0 (October 2016) adds native 64-bit Windows build targets
2023
OpenText Gupta Team Developer 7.5 is released in April 2023; its service-pack line continues through 7.5.6 in May 2026

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

Language Influence

Influenced By

Running Today

Run examples using the official Docker image:

docker pull
Last updated: