HyperFileSQL

24
www.windev.com PERFORMANCE, SECURITY, AVAILABILITY RDBMS Windows, Linux, Mac Client/Server, Stand-alone com- puter, Mobile, Embedded WINDEV • WEBDEV • WINDEV Mobile

description

HyperFileSQL

Transcript of HyperFileSQL

Page 1: HyperFileSQL

www.windev.com

PERFORMANCE, SECURITY, AVAILABILITY

RDBMSWindows, Linux, Mac

Client/Server, Stand-alone com-puter, Mobile, Embedded

WINDEV • WEBDEV • WINDEV Mobile

Page 2: HyperFileSQL

Table of ContentsOverview 3Local 4Mobile - embedded 4Client/Server 4Data types and index 5SQL 6Features 6Security 10Openness 11WINDEV and WEBDEV 11Tools 13Programming 17List of supported SQL commands 17List of WLanguage commands 18

Vocabulary 21Who uses HyperFileSQ? 22Benefits 22Feature summary 24

WELCOME TO A WORLD OF SECURITY AND PERFORMANCE

An enterprise's data is a vital resource.The Relational DatabaseManagement System lets you manage yourdata with complete security.Performances are astonishing.Used on over several millions of computersthe world over, the flexibility and the adap-tability of allow it to res-pond to the most demanding requirementsof real-time mission critical applications.You too, choose !

HHyperFileSQL sales-engineering documentation. Knowledge

of WINDEV, WEBDEV or WINDEV Mobile is helpful. If you are

not familiar with them, do not hesitate to request these pro-

ductsʼ (free) full documentation.

HyperFileSQL has been distributed since 1988.

329 millions of billions of rows per table...

Documentation version 2010-01

Page 3: HyperFileSQL

HYPERFILESQLOVERVIEWGeneral points

HyperFileSQL is a powerful RDBMS (Relational Database Manage-ment System).HyperFileSQL comes in 3 versions: • mobile version (embedded)• local version (single computer or network)• Client/Server (and cluster) version.HyperFileSQL is suited to any type of application: business applica-tions, real-time mission-critical applications, software, applicationservers, Web servers, stand-alone PC or mobile devices.

performance, security,

openness, flexibility

HyperFileSQL is the ideal choice for a database engine.Openness: based on industry standards, HyperFileSQL does not lockyou into a proprietary solution.Flexibility: support for large volumes of data (several dozen bil-lions of rows in a table) is insured.Platform independence the tables can be moved from aClient/Server platform to a mobile platform, from a Windows ser-ver to a Linux server, and so on.Extensibility: you can easily and without constraints go from oneuser to several hundred users, from a 2-tier architecture to amulti-tier architecture...Frugal in resources: the client/server engine takes up less than 20MB of disk space.HyperFileSQL works in heterogeneous environments: Windows,Linux, Mac, TSE, Citrix, ADSL, VPN, Wi-Fi…The forward and backward compatibilityof the tables is insured.Longevity of the publisher: PC Soft has been in business for over25 years.Performance, scalability: thanks to an optimized index manage-ment and a fine-tuned cache management, speed is consistent.Access security: protection against SQL injection attacks is insu-red through the automatic creation of secure UIs.

Reduced total cost of

ownership (TCO)

One aspect of HyperFileSQL is its free and unlimited deployment(see the license).There is no cost associated with it in terms of number of proces-sors on the server, or in terms of client computers, or based onthe type of application (business app), no annual fees, etc...

HyperFileSQL comes as a complete,fully-featured product, and is free.Maintenance costs are minimal.

The technical support is also free ofcharges (as part of a WINDEV,WEBDEV or a WINDEV Mobile license).It is provided by phone and e-mail.DBAs and developers also have accessto very active professional newsgroups (moderated).

Service pack type updates are regularlymade available for free.

HyperF i leSQL • www.windev.com

3

:POWERFULDATABASE

WINDOWSSERVER

MOBILE

7 VISTA (32 BITS, 64 BITS)XP2000, 2003, 2008NT

REDHAT

DEBIAN

OPENSUZE

UBUNTU

...

LINUX

MAC

TSECITRIX

LOCAL ACCESS

LOCAL NETWORKWI-FI

MODEM, 3G

ADSL

DEDICATED LINE

100% Windows100% Linux100% Mobile

Page 4: HyperFileSQL

VERSIONSLocal version

(“classic” version)

The local version (stand-alone and network) of HyperFileSQL (alsocalled "Classic" version, because it is the original version that wasavailable back in 1988) offers high performance, ease of deploy-ment, configuration and setup.It is fully compatible with the mobile and Client/Server versions(tables, index, relationships, constraints).This version is mainly intended for stand-alone computers, andsmall networks.A common use of the Classic version is in a custom software. The database will be created and installed automatically on the

PC of the custom software user. Maintenance will be au-tomatic.A Classic database can also be found on a USB key andused directly from the key.

HyperFileSQL Classic can be installed on machines equip-ped with Windows (98, NT, 2000, 2003, Vista, 7,…),MacOS and Linux servers.

HyperFileSQL also works on Mac

Mobile version

(embedded)

HyperFileSQL is totally adapted to the ever expanding realm ofmobile devices of any type. HyperFileSQL only requires small resources, and can be installedon any mobile device (terminal, pocket PC, smartphone, Win-dows phone) that runs Windows CE or Windows Mobile.The installation is child's play and the seldom needed mainte-nance is automated.Performances will surprise you.

It is fully compatible with the local and Client/Server versions (ta-bles, index, relationships, constraints).Depending on your needs, data access in a mobile application canbe done from a large number of technologies: ActiveSync, directaccess, RPC access, Web services, sockets, direct stored proce-dures, etc...

Client/Server version

The Client/Server version of HyperFileSQL is the ideal version formanaging a large number of users and remote accesses.Local and remote accesses are supported.The installation is child's play, and the administration, althoughvery powerful, is easily performed.

HyperFileSQL is not limited in the number of processors used, orin memory.Load balancing is supported for better response times.The engine is self-restart.Clusters offer failure-proof availability.It is fully compatible with the local and embedded versions (ta-bles, index, relationships, constraints).HyperFileSQL works both in 32-bit and 64-bit mode. Servers andclients can be mixed.

Some of the supported Windows servers:• Windows Server 2008• Windows Server 2003• Windows 2000• Windows XP & Vista,• Windows 7in all their versions.

Some of the supported Linux distributions: • RedHat 9• Debian 4.0• OpenSuse 10.3 and 11.1• Ubuntu 7.10, 8.04 and 8.10• Fedora 8 and 9• Mandriva 2008

Among the supported clients:• 32-bit and 64-bit Windows• Linux• MacOS• Windows CE and Mobile

HyperF i leSQL • www.windev.com

4

Imagine, 128 Giga bytes on a memory card.Only a few years ago this was the capacity of thehard drive on a desktop PC! Now you can easilyand at little cost embed large size (up to 130 mil-lion rows) secure databases onto your pockets,mobiles and phones.

Page 5: HyperFileSQL

DATA AND INDEXData type

HyperFileSQL manages all types of data:• Text, character• Numeric (integer, real, float with 38 significant digits), • Date, time, duration• Boolean• Array type column• Blob ("memo", binary format: image, video,...)

Powerful features are available:• Unicode is supported, with support for linguistic sorts• The sort order of all character sets is taken into account.• Default value• Null management.

Unicode

HyperFileSQL supports Unicode text columns and Unicode blobcolumns. Indexes can be sorted by the alphabetical order corres-ponding to each language (Russian from Russia or Ukraine, Chi-nese from Singapore, Taiwan, Hong Kong, Macao,...).

Data in Chinese

A reminder about operating systems: Windows runs in Unicodemode on mobile environments, while Windows for PC runs inANSI mode.When needed, WLanguage automatically converts Unicodestrings into ANSI (and conversely) based on the current characterset.

Index & Keys

HyperFileSQL manages keys and indexes for all types of columns.In order to insure optimal performances, HyperFileSQL automati-cally creates an index when defining a key.

The following are supported:• Simple index• Composite index (multi-column)• Partial index• Full-text index

HyperFileSQL insures data integrity by managing :• Uniqueness constraints• Cardinality constraints• Automatic identifier• Primary and foreign keys.

Full-text index

The "full-text" search allows for very fast string (word or expres-sion) searches inside your data. For instance, you can find a wordamong 1 million rows in less than 2 ms (average per occurrencefound).It is possible to index texts found in a HyperFileSQL database wi-thout any programming. Results are offered according to a relevance order (ranking).The index can support rich text (RTF, HTML), ignoring their tagsduring the indexing process.This feature enables you to perform searches on words stored in-side RTF or HTML documents.

These texts can be found in text type controls or blob (memo)type controls.

A full-text index can index one or more columns, therefore asearch can be performed on several columns at the same time.

Capacity

HyperFileSQL Client/Server offers high storage capacity, in linewith current and future storage means, as well as with the increa-sing demands from enterprises.During a recent road show in front of about 10,000 professionaldevelopers, PC SOFT presented a HyperFileSQL database contai-ning more than 15 billion (15,000 million) rows: data searcheswere instant once the server was started (without even filling thecache!).

HyperF i leSQL • www.windev.com

5

Page 6: HyperFileSQL

SQL : OVERVIEW

HyperFileSQL supports a large portion of the Ansi SQL 92 stan-dard.The SQL supported by HyperFileSQL also includes a large numberof additional SQL Server and Oracle specific syntax, among otherthings.HyperFileSQL supports sub-queries and embedded queries.HyperFileSQL supports union operators: union, Cartesian join,join, external join; aggregation operators: count, sum, avg, min,max; sort and group operators: group by, having, order by...

In addition to SQL, you can benefit from the feature-rich WLan-guage by directly using WLanguage functions and stored proce-dures (also developed in WLanguage).

The speed of the SQL engine is optimized by using, among otherthings, the index statistics and the constraints to choose the bestaccess index for queries.The advanced memory cache management also improves perfor-mances.The engine automatically manages the load balancing: if a clientexecutes a lot of resource hungry queries , the server automati-cally balances the load in order to not penalize the other clients.

You’ll find the list of SQL functions supported by HyperFileSQL atthe end of this document, as well as the other programming as-pects (cursor programming).

FEATURESHyperFileSQL offers a large number of features.You will find below a description of its main features.

Stored procedures

(UDF)

Stored procedures (also sometimes called UDF) make it easier foryou to modify and maintain your application by breaking up thecode.When the way you calculate a result changes or when a businessrule found in a stored procedure evolves, all you need to do ismodify the stored procedure on the server, without modifying thedeployed applications.A stored procedure limits the number of round-trips needed bet-ween the client and the server machine, and therefore, improvesthe processing speed.The same stored procedure can be shared among several applica-tions.Stored procedures are programmed using WLanguage and there-fore benefit from the rich feature set and ease of use of this 5GL.Stored procedures accept parameters and/or return integers,strings, dates, etc.It is really easy to create a stored procedure from the WINDEV en-vironment.

In the data model editor

Triggers

A trigger is used to start a stored procedure before or after agiven event on a database table: for example, before deleting arow, or after modifying a row. A trigger provides tremendous security. The trigger will be execu-ted regardless of the application or component that accesses thedatabase and performs the defined operation, without the pro-grammer having to do anything.Server triggers, as their name implies, are executed directly on theserver.The right to create a trigger is defined along with the database'srights.The WINDEV environment alerts the developer to the presence ofthese triggers (the triggers are shown in the data model).

HYPERFILESQL MAXIMUM CAPACITY

Columns per table 65,535Index per table 65,535Rows per table 329 millions of billionsTable size 4 millions of TBRow size 2 GBColumn size 65,535 bytesSize of a blob column (textmemo, image, video, binary,etc.)

4 GB

HyperF i leSQL • www.windev.com

6

Page 7: HyperFileSQL

Integrity : constraint,

deletion, cascading

update

It is easy to define integrity constraints.The cardinalities can be configured: (0,n) ; (0,1); (1,n); (3,n); etc.Reflexive links are supported.Examples of referential integrity constraints:• Referential integrity:The referential integrity will prevent an author from being erasedas long as there is at least one book referring to this author.Therefore you cannot delete a row from a table if this row is lin-ked to other table rows (e.g. you cannot delete a customer ifthere are invoices linked to this customer).The referential integrity can be defined by link from the datamodel editor.

• Cascading deletion:If a row is deleted from a table, the corresponding rows in the lin-ked tables will also be deleted (this constraint can be enabled ordisabled, through relationship).

Logs

A log is a special table where all the operations performed on oneor more tables from a given time are automatically stored. The log contains the history of the table use, in other words: • the complete row before handling or modification by the user • the complete row after handling or modification by the user • the person who used or modified the record • the date and time of the operation or modification • the nature of the operation performed: addition, modification,

deletion, read• the id of the computer that performed the modification • the IP address of the computer that performed the operation • the name of the application that performed the operation

It is possible to perform the following operations from a log: • restore the content of a logged table in case some data was lost

or destroyed • restore the content of a logged table until a certain date • find the author, the date and the time of an operation perfor-

med on a specific row • keep the history of a table use (to compute statistics for exam-

ple)

These operations can be run using a command line or the WDLogtool.

Transactions:

commit, rollback,

crash recovery

A transaction is a set of indissociable operations: either all theoperations in the transaction are performed, or none are perfor-med. Transaction management is the best way to guarantee thecoherence of a set of indissociable write operations onHyperFileSQL tables. A transaction is used to ensure that updates performed on one ormore tables have completed properly.

“Blob” data compression

"Blob" type data (text or binary memo) can be compressed to op-timize the space taken on disk.The space used can be significantly reduced.

frame compression

A frame is a data packet that travels over the network.HyperFileSQL, like all DBMS, uses frames to communicate bet-ween the client and the server machine.A server's data transfer speed depends both on the frame travelspeed over the network and the size of these frames.

In a local area network, the speed is so fast that the size of theframe only has a relative importance.On the other hand, for a remote access (DSL, 3G, …), the size ofthe frame is more important. In this context, reducing the size ofthe frames increases performance noticeably.

Frame compression enables you to reduce the size of the packets(up to 95%) traveling on the network, by automatically applyinga data compression algorithmIn a remote connection context, especially if the connection speedis slow, there's a big advantage to compressing frames.

The speed for remote connection is improved. Since the volume of data transiting through the transmissionmedia is reduced, this can be a benefit for contracts that billbased on volume of data.

Automatic row lock

HyperFileSQL supports locks at the table level and at the rowlevel.Support for row locks allows for better access performance.

Several databases on the

same server

HyperFileSQL natively supports the presence of several databaseson the same server.The databases are isolated.Specific rights can be defined for each database.This prevents you from having to use multiple servers.

HyperF i leSQL • www.windev.com

7

Page 8: HyperFileSQL

Automatic reconnection

This feature automatically takes care of dropped connections bet-ween client and server. Usually, this problem occurs with hardware whose connection

with the server is not always on: mobile devices(Wi-Fi, 3G, …) notably.

In Wi-Fi connection for instance, thelink between a remote device andthe server can be dropped briefly.This can also happen on regular

wired networks. When the applica-tion is reconnected, we need to resume

the application at the point where theconnection was interrupted, and make sure thebuffers are accurate.With the automatic resume, all the buffers andpositions are stored and reassigned. The application can resume without any error,as if the connection never wasinterrupted.You can also manage theconnection interruptions by programming, orexecute additional processes if you want.

Backup

Configuration of a backup

Backing up is an extremely important feature for databases.You can save the entire server or only a single database, or a se-lection of tables, with or without index.HyperFileSQL supports hot, differential backups.A backup is portable, from Windows to Linux for instance, orfrom a Client/Server version to a Classic version.A backup can be triggered from the Control Center (instantbackup, scheduled backup), or by coding, directly from the appli-cation.The schedule for a complete backup and a differential backup canbe specified (example: 1 full backup every month and 1 differen-tial backup every week).

The execution of a stored procedure before and/or after thebackup allows for automated processes to be run: send e-mail,copy the backup on the network, etc.The number of backups to keep can be specified.

The backup can be performed:• on the live database, without disconnecting users• transparently, without disturbing the running of the applica-

tions.

Integrated sequencer

(scheduled tasks)

HyperFileSQL includes an integrated sequencer that allows you todefine scheduled tasks.A task doesn't only mean allowing the execution of a stored pro-cedure (UDF), but also allowing a backup or an automatic perfor-mance optimization to be triggered.The definition is done through the Control Center or by program-ming.The sequencer allows the DBA to program the automatic execu-tion of tasks on the server; it allows, for example, to performbatch processes.Using the sequencer is more performing than running the com-mands in the Windows task scheduler or the Linux "cron" pro-cess.The tasks can be run at a set date, with one or more regular inter-vals.You can create, add, modify, enable, disable programmed tasksby coding or through the administration tool, as long as you havethe proper rights.

Graphical and user friendly interface of the sequencer(scheduled tasks)

Example of possible parameters:• Every month or only some months• Every day or only some days (every Mondays, or the 4th of every

month for example)• At a given time or every n hours and/or minutes.• Number of times the task must be executed (10 times or no end

date for example).

HyperF i leSQL • www.windev.com

8

Page 9: HyperFileSQL

Universal replication

The universal replication works regardless of the database used.You can, for example, replicate HyperFileSQL data among them-selves or with Oracle data or with data coming from any other da-tabase.Replication can be one-direction or multi-direction, and can beperformed using different media: computers connected to thenetwork, USB key, Internet, GPRS, 3G, etc.

A replication is defined with the help of a replication wizard or byprogramming.

Offline replication

The "offline replication" mode allows a replication to manage it-self in stand-alone mode. The replication is performed without being constantly connectedto the server hosting the other database.The principle is simple: the replica is sent to the replication server(via Internet, USB key, etc.) The link with the server becomes useless once done.

"Offline" replication

Cluster

(server farm)

Thanks to the cluster feature, a set of physical servers appears asa single server to the clients.The potential failure of a physical server does not prevent accessto the database (high availability, fault tolerance).The servers automatically replicate each other in real time.The read load charge is distributed on all the servers (load balan-cing for reading).You can add and remove servers while live.If a server crashes, it automatically resynchronizes when it restarts.When a user is connected to a server that fails, the applicationwon't be disconnected but automatically reconnected to a validserver (automatic fall over).Clustering is also very useful for SaaS infrastructures.

Automatic data

modification for each site

(SDD)

Which programmer, which database administrator hasn't cursedthe time lost writing those infamous "hacks" (scripts) to add a co-lumn or an index to an existing table, or to change a data type ina column?The problem is even more complex when several different ver-sions of the application are in use: you need to check the versionof the database as well. Writing those hacks is always tricky because they alter the data.No more of this with HyperFileSQL!HyperFileSQL transparently manages structural changes to thedata (schemas) through the SDD technology (Synchronization ofDatabase Description).If for example a column has its size modified, or if a column isadded, or still if the data type is changed (integer to real for ins-tance) HyperFileSQL will automatically update the data in the rele-vant tables.A 100-version history is kept. No more hacks! No more scripts! No more scary "Alter table"commands!The update procedure, which will be installed and run automati-cally with your application's update, is automatically managed.

HyperF i leSQL • www.windev.com

9

Any database:HyperFileSQL, Oracle, SAP,AS/400, MySQL, mobile...

Any media: locally, via the network, via modem, via Internet, Wi-Fi,GPRS...

Any database:HyperFileSQL, Oracle,AS/400, MySQL, mobile...

Page 10: HyperFileSQL

HyperF i leSQL • www.pcsoft . fr

10

SDD: Automatic update of the data schema

SDD (Synchronization of the data description) automatically per-forms:• The automatic comparison and synchronization of the database

in respect to the schema to get • The addition, deletion, renaming of a column • The change of type, size • The addition/deletion of key/index, addition/deletion of

constraints• The addition/deletion of triggers, stored procedures.

SDD can also be started via a command line.Note that you don't need to use other script management toolsto perform these tasks.Also note that SDD works regardless of the versions of the targetdatabase schemas. SDD works immediately on a n-3 version forinstance.

This SDD feature can be run :• on the live database, without disconnecting users• transparently, without interfering with the running of applica-

tions.

Link with other databases

You can also use HyperFileSQL in parallel with other databases.Actually, most Information Systems use several heterogeneous da-tabases.The same application can use a HyperFileSQL database at thesame time and simultaneously with other databases.HyperFileSQL also lets you easily import and export data from/toother databases.

SECURITYThe integration, the automatic lock management, the ControlCenter, and so on, insure by their very presence a high security ofuse.

Security specific features are also available.

Access rights :

authentication to

establish the connection

The server has a user authentication system.It checks that a user is authorized to connect, and then that thisuser has the proper rights to run the requested queries: for exam-ple, the right to delete rows to run a deletion query.The tuning of rights is very granular: at the server level, at the da-tabase or the table level.It is done by programming or through a user-friendly interface.Passwords are not stored in clear on the server; only a hashed ver-sion is stored for security reasons.An expiration date can be set for passwordsYou can define user groups.

HyperFileSQL Control Center: defining rights

At the server level:• Right to delete or add users or groups• Right to view the users and groups• Right to create a database• Right to change rights• Right to stop the server• Right to change one's own password• Right to disconnect the user computers• Right to send messages to the client computers• Right to configure the server• Right to configure the user priority• Right to perform backups• Right to configure the scheduled tasks• Right to consult the server's activity statistics and log.

On the database side:• Right to add new rows in a data table• Right to lock tables or table rows• Right to change rights• Right to modify the integrity rule on a table• Right to modify the owner of an element• Right to connect to the server (encrypted or non-encrypted

connection, or only encrypted connection)• Right to create a table by programming• Right to enable and disable duplicate management• Right to read a table's rows• Right to start a reindex or statistics calculation on a table• Right to start an automatic modification of the tables (SDD)

Page 11: HyperFileSQL

• Right to modify a table's rows• Right to delete a table's rows• Right to delete a database• Right to delete a table by programming • Right to enable and disable integrity management• Right to lock the access to a database • Right to execute stored procedures and/or WLanguage com-

mands in queries• Right to configure the stored procedures• Right to debug the stored procedures• Right to modify the triggers• Right to perform backups.

On the table side:• Right to add new rows in a table• Right to lock tables or table rows • Right to change rights• Right to modify the integrity rule on a table• Right to modify the owner of an element• Right to enable and disable duplicate management• Right to read a table's rows• Right to start a reindex or statistics calculation on a table• Right to start an automatic modification of the tables (SDD) on

a table• Right to modify a table's rows• Right to delete a table's rows• Right to delete a table by programming.

SQL injection impossible

The WINDEV window generator and the WEBDEV page genera-tor, through the definition of edit controls that are automaticallygenerated based on the data schema, make "SQL code injection"type attacks almost impossible, and this is done automatically.The data entered by the end user is automatically verified, in realtime as soon as entered, and is not sent to the application if it isinvalid or incoherent.

Encrypted connections

The connection between the client and the server can be encryp-ted.To define a high level of security, you can forbid non encryptedconnections with the server.

Data encryption

Data access can be secured, and the data itself can be secured.The opening of the table can require a password.The data itself can be encrypted. Several encryption modes are supported: • standard on 128 bits • RC5 12 loops on 128 bits • RC5 16 loops on 128 bits The mode and the encryption key can be defined: • by programming• in the data model editor.If a malicious person gains access to the encrypted data file (theft,copy, retrieved from a recycled computer, from a lost computer,etc.) he won't be able to exploit it.

OPENNESSHyperFileSQL is open to all technologies and easily blends in anyexisting I.S.

ODBC driver

The provided ODBC driver allows third-party applications to ac-cess data stored on a HyperFileSQL server, such as PHP, Python,Tuby, Access, etc.

OLE DB Provider

Providing the OLE DB driver (in read and write mode), allowsthird-party applications to access the data stored on aHyperFileSQL server, such as C#, ASP.Net, Crystal Reports, Busi-ness Objects, PHP, Excel, etc.

Database import

The WDCONVER tool (provided with the product) lets you importOracle, SQL Server, MySQL and so on databases.The import of the data schema is automatic.Data import from text formats (custom separators: tab, space,etc.), CSV, XML is also possible.

LINK WITHWINDEV, WEBDEV,WINDEV MOBILE

WINDEV and WEBDEV

native access

WINDEV, WEBDEV and WINDEV Mobile are Integrated Develop-ment Environments (IDE). Access to HyperFileSQL is "native" in WINDEV and WEBDEV,which means that the access performances (read, write) are opti-mized.The HyperFileSQL data schemas are also directly and instantly re-cognized by the WINDEV and WEBDEV environments, and there-fore benefit from the automation and wizards of theseenvironments: automatic UI creation, control creation, assistedcode entry in the editor...Data binding is supported, visually in the environment and also byprogramming.

HyperF i leSQL • www.windev.com

11

Page 12: HyperFileSQL

Automated assistance

In a WINDEV application, end user assistance is automatic in thefollowing error cases: • detection of unprotected concurrent accesses• duplicates • non respect of integrity constraints • invalid password• disconnection• lock.If one of these errors occurs, the application automatically dis-plays a relevant assistance window.

Here, 2 users are trying to modify the same field at thesame time! A window automatically comes up and asks

for the correct value. No programming is required.

Cursor in WINDEV and

WEBDEV

Cursor in WINDEV and WEBDEVNative programming in WINDEV and WEBDEV is highly simplifiedthanks to a set of advanced automations and wizards.Relationships between tables are automatically detected.The access to a database field is easily defined through a clearand intuitive syntax: table name, column name (customer.name)The code entry wizards are always at your fingertips and help pre-vent typos and having to look for names.

Performance help,

Tuning, Audit

The profiler and dynamic audit tool allow you to analyze the per-formances of an application, and through this make sure the dataaccesses are programmed optimally.The tuning lets you optimize queries, check indexes, set up statis-tics, monitor the server, control the memory, check the CPU use,check the disk space and the connections, etc.

Multicontext

At any time you can handle several contexts and several connec-tions for the same database.

Window and UI generator

from the table schemas

The generated UIs take the table's definition into account.For example, if a column is a numeric type, with a maximumlength of 8, only data of this type will be allowed in input.

You won't be able to enter text or a larger number.

3 examples of windows created with WINDEV

HyperF i leSQL • www.windev.com

12

Page 13: HyperFileSQL

`Sophisticated, ready-to-use and to be customized controls areavailable just by drag and drop:

• formatted edit controls • display controls (static)• tabs • scrolling lists• combo box • auto-fill combo box• images • animated images• scroll bars • graphical buttons (icons) • animated graphical buttons • text buttons• On/Off buttons • timer buttons• check box • single column and multi column

radio buttons• tables • graphical lists • treeview lists • treeview table• HideShow • OLE controls• ActiveX controls • click areas • spin buttons • controls with fuzzy shadow • sliders • HTML controls • icon bar • geometrical shapes • splitter • view lists• status bars • Web camera• RTF • loopers• progress bar • toolbox• chart • bar codes• carousel • calendar• ...

THE TOOLSAdministration:

HyperFileSQL Control

Center

A tab of the HyperFileSQL Control Center

The HyperFileSQL Control Center is an indispensable administra-tive tool with an intuitive and user-friendly graphic interface.The HyperFileSQL Control Center can be used to perform a largenumber of tasks, either from a network computer or from the In-

ternet, such as:• Manage the database• Manage the data size • Stop/start several server instances• Visualization of information specific to the server, the database

or the tables• Uninstall the HyperFileSQL server• Display the list of current connections• Ability to authorize/forbid connections• Send messages to the users• Configuration of the location of the databases, logs, activation

and location of the logs and activity statistics, • Definition of the server connection port,• Definition of the port for remote debugging, • Account maintenance• Manage the transactions in progress, transaction rollback• Manage scheduled tasks • Perform backups • Manage backups • Hot tuning: cache size, log activation, etc.• Creation, deletion, import of databases.• Database explorer • Query execution• Back up and restore data,• Visualization of the tables' structure.• Automation of common functions.• Monitoring.• Manage users and user groups, as well as their rights • Manage connected users • User disconnection• Gathering of precise statistics on the server use: computers,queries, logs, parameters,... • Visualization of row locks• ...

Hot Administration

A large number of maintenance tasks can be performed live, wi-thout having to disconnect the users, and without interfering withthe use of their applications, which will keep on reading and wri-ting data during the maintenance:• SDD live "auto modif "• Live reindexing• Live automated performance optimization• Live password change• Backup.

Modeling a database

Defining a database's schema is done easily through the powerfulvisual editor provided. A large number of wizards are there to help you.The visual editing of the schema (creation, deletion, modificationof the tables, columns, relationships, constraints, indexes, triggers,etc.) enables you to define a database schema without having towrite any SQL code.The editor graphically represents the organization of the data andprocesses.

HyperF i leSQL • www.windev.com

13

Page 14: HyperFileSQL

A data schema

The editor knows how to import schemas from databases inHyperFileSQL, SQL Server, OLE DB, and so on formats. An automatic import of existing schemas can be performed.

The documentation of the database schema can be printed uponrequest (hard copy, HTML, PDF, Word, OpenOffice).

Pages from an automatic documentation

How to create a data

schema?

Creating a data schema is very easy: a powerful wizard helps you.We simply need to define the structure of the tables that make upthe schema; columns are defined or retrieved from a data dictio-nary. We specify the type of columns, the type of key (index), etc.All the newly created columns are stored in the data dictionary.Then we define the relationships between tables. To link tables, simply draw a link with the mouse! The wizard asks questions in plain English to determine the natureof the relationships.The wizard also asks whether the checking of referential integritymust be automated or not.

Assisted relationships (links) definition

The wizard then asks whether it should generate the potential re-lationship tables if needed, or if it should use existing tables.The wizard then requests the name of the relationships: theschema is defined.

The visual schema editor also manages:• Reverse analysis from a server• Logical and physical modeling• The connection editor• The schema comparison• The schema history• The generation of DDL scripts• The export of the schema model in the form of a vector image.

UML

The UML class diagram

WINDEV and WEBDEV support the 9 UML models.Notably, the class diagram can be generated automatically fromthe database schema.3-tier programming is therefore extremely simplified through anautomatic object-relational mapping: classes are automaticallygenerated to implement the business logic specific to the applica-tion, as well as the update of the data from the objects to the ta-bles, and conversely.

HyperF i leSQL • www.windev.com

14

Page 15: HyperFileSQL

Reporting tool (“Reports

& Queries” program)

A report created with Reports & Queries

The "Reports & Queries" program is a report editor that you candistribute freely, at no cost and to all your end users, for any appli-cation built with WINDEV or WEBDEV.This report editor is natively interfaced with HyperFileSQL, and al-lows for very easy creation of sophisticated reports using the datastored in the HyperFileSQL databases.The PDF standard is supported, as well as page background, barcodes, labels, and everything you need!

From the report editor, export to Word, Excel, OpenOffice, send an e-mail, and so on, automatically

HyperF i leSQL • www.windev.com

15

A few clicks are enough to createa query, and to check it in natu-ral language.

Query editor

The creation of queries is done using the SQL language or theWLanguage 5GL Queries can be entered directly or generated by the query editor(Reports & Queries) provided with WINDEV and WEBDEV, and canbe freely distributed to the end users of the applications you'vecreated.The query editor also lets you optimize the database's description(schema) by detecting and defining the indexes required forthe best runtime performance of the created queries.The query editor generates the queries both in SQL and innatural language so you can easily check that they corres-pond to the intended operation. There’s no risk of error.The query is also generated in diagram form (anima-ted graphic).The steps for creating a query are simple:choose the columns to include, specify theselection conditions using the wizard, andthe query is built using optimized SQLcode.

The editor also performs a reverse-analysis of existing queries.A query result can be a visualization window, a printed report, ora HyperFileSQL table.A query can use the result of another query as its source.

Display all OrderNumber, OrderNumberCustomer, OrderDate,

CustomerNum, PaymentMethod and InvoiceDate

such as InvoiceDate is equal to ‘InvoiceDate’ AND ORDERS.Total is greater than or equal to Amount AND HISTORY.AdminAssistant is equal to ’ AdminAssistant’OR PRODUCT.MinQty is equal to MinQuantity AND PaymentMethod contains ‘PaymentMethod’

AND ORDERS.Observations contains ‘Observation’ .

Page 16: HyperFileSQL

A report can be sent to different targets

Supported bar code formats are: UPCA, UPCE, EAN13, EAN8,EAN128, CODE128, CODE39, CODE93, CODE11, CODE128, In-tervaled 2 of 5, CODABAR, CB_MSI, Datamatrix, PDF417,...

RAD: for generating

windows and pages

A Web page generated by WEBDEV

The WINDEV, WEBDEV and WINDEV Mobile RAD also generatesthe windows and pages, as well as the controls, and configuresthe edit controls based on the information found in the dataschema: required control, maximum size, types of accepted data,bound verification, etc.

WDMAP: data viewer

WDMAP lets you view, edit and modify the data in a table.WDMAP is very useful during testing and debugging.WDMAP lets you filter and sort the data, perform instant export(to Word, Excel, OpenOffice, XML, etc).

Data comparison tool:

WDHFDiff

The WDHFDIFF tool enables you to compare:• the structure of 2 tables• the data in 2 tables. This can be very useful in the fine tuning phase.

Monitoring engine

The monitoring engine (freely distributable with your applications)lets you secure your servers. The engine constantly monitors and immediately detects the sus-picious connections to your server.The server warns, by (your choice):• sending a configurable e-mail message to the specified ad-

dresses (up to 20 addresses)• sending a message to a specific application (internal messaging,

...)• sending a message to the integrated messaging system• control screen (visual warning and/or sound)• starting a WLanguage procedure• running a third-party program (this program can for instance,

send a configurable message via SMS to chosen numbers).Of course, you can choose a combination of these warnings.Among the monitoring parameters that can be specified, you'llfind:• the frequency: run the test every X, from 2 minutes to 1 day• repetition: in case there's no answer from the monitored ele-

ment, how often to retry and how long before triggering thewarning

• text of the message to send• the message's medium (SMS, email, ...).

SIS: Software

Infrastructure

Supervisor

SIS allows you to compile a list of accesses for all the WINDEV ap-plications and all the WEBDEV sites to all the network resources,

HyperF i leSQL • www.windev.com

16

Page 17: HyperFileSQL

including the HyperFileSQL databases.SIS enables you to analyze the changes in database accesses overtime, to find out which applications and which computers accessa database.Precise statistics are available at any time.

PROGRAMMING:SQL AND WLANGUAGE

Simple yet powerful pro-

gramming

Programming the HyperFileSQL database is both easy and power-ful.This programming can be done in SQL and/or in WLanguage 5GLSQL is a universal programming language.Programming with WLanguage, a 5th generation language, al-lows for advanced and powerful cursor programming.Automation with applications and sites developed in WINDEV andWEBDEV are very strong.

RAD: to generate the code

The code can be generated upon request by WINDEV andWEBDEV using the RAD feature, or using the numerous wizardsavailable in these environments.The generated code can be modified later on.RAD supports the concept of "pattern", which allows you to de-fine the code that will be generated.

List of supported SQL

commands

Here is the list of supported SQL functions.We did not detailed each specific SQL function here.

ABS ACOS ADD_MONTH ALLAND ANY AS ASCASCII ASIN ATAN AVGBETWEEN BIN BOTTOM CASECBRT CEIL CEILING CHAR_LENGTHCHARACTER_LENGTH COALESCE CONCAT COSCOUNT CREATE TABLE DEGREES DELETEDESC DISTINCT DIV DROP TABLEEXISTS EXP FLOOR FROMFULL OUTER JOIN GROUP BY HAVING HEX IFNULLIN INNER JOIN INSERT INSTRINTO IS NULL LAST_DAY LAST_INSERT_ID LEFT LEFT OUTER JOIN LEN LENGTH LIKE LIMIT LN LOGLOG10 LOWER LPAD LTRIMMATCH ... AGAINST MAX MID MINMOD MONTHS_BETWEEN NEW_TIME NEXT_DAYNOT NVL OCT OCTET_LENGTHON OR ORDER BY PATINDEXPI POSITION POWER RADIANSRANDOM REPLACE RIGHT ROUNDRPAD RTRIM SELECT SETSIGN SIN SOME SOUNDEXSOUND LIKE SQRT SUBSTR SUBSTRINGSUM SYSDATE TAB TOPTRANSLATE TRIM TRUNC UNICODEUNION UPDATE UPPER UUIDVALUES WHEN ... THEN ... ELSE WHERE

The "Select" type SQL queries accept a large number of WLan-guage functions as parameters, which allows you to easily refine aselection.The accepted WLanguage functions are: Abs Age AnsiVersOem AnsiVersUnicodeArcCos ArcSin ArcTan RoundAsc Charact  StringCompare StringBuildStringFormat StringCount  StringToDate  StringToDurationStringToUTF8 Complete  CompleteRep  CompressMakeInteger Conversion Cos CoTanColorLightness ColorSaturation ColorHue CryptDateDifference Today DateIsValid DateTimeDifferenceDateTimeLocalToUTC DateTimeUTCToLocalDateSys DateValid DateToString DateToIntegerDateToDay DateToDayInAlpha DateToMonthInAlphaDateVersWeekNumber DDECR UncompleteDirUncompress Uncrypt  GetGUID Right DurationToString EmailCheckAddress IntegerToDate IntegerToTimeIntegerToDay IntegerToDayInAlpha IntegerToMonthInAlphaIntegerToWeekNumber DOSEnvironment IsOddIsNumeric IsEven BinaryAND ExeInfoExp ExtractString fAttributeReadOnlyfLoadText fShortPath fLongPath fCompressfCompare fCopyFile fCreateLink fCryptfDate fDateTime fUncompress fUncryptfMoveFile fDriveInfo WinInInput WinOutHPosWinOutVPos WinInHPos WinInVPos fDiskSpacefExtractPath fFileExist fTime fShortNamefLongName fDirAttribute fCopyDir fMakeDirfDirAttrib fDirectoryExist fTempPath fParentDirfRemoveDir fDirSize fSaveText fSeparatorfDelete fSize fSizeUncompressed fDiskSizefDiskType Left  Random HDescribeFieldhDuplicates TimeDifference TimeIsValid TimeSysTimeValid TimeToString TimeToInteger HInfoFieldHListField HRetrieveField HTMLToText HToFieldHUnlockRecord iGetIdentifier ExeInfo INIWriteINIRead InitRandom Reverse  ExeRunLn Log Now Upper Max Middle Min Lower NetMACAddress NetIPToMAC NetMACToIP BinaryNOTNumToString WeekNumber OemToAnsiBinaryOR BinaryXOR BinaryXOR Easter

HyperF i leSQL • www.windev.com

17

Page 18: HyperFileSQL

DecimalPart IntegerPart Phonetic  LoWordHiWord Position PositionOccurrence PowerRoot RegistrySearch RegistryNextKey RegistryCreateKeyRegistrySetValue RegistryExist RegistryListValue RegistryQueryValueRegistryFirstSubKey RegistryFirstSubKeyRegistryDeleteValue RegistryValueType ReplaceRepeatString  NetworkConnect NetworkDisconnect NerworkDomainNameNetworkDirName NetworkUser RGB RGBBlueRGBRed RGBGreen NoAccent  NoSpace sComputeCrc16 sComputeCrc32 Sin MouseXPosMouseXPos SysColor SysColorRes SysEnvironmentSysSpace SysInstance SysNameExe SysDirSysWindowsVersion SysXRes SysYRes LengthCommonLength LengthToString Tangent EndAppHSL UnicodeToAnsi URLDecode URLEncodeUTF8ToString UUDecode UUEncode Val

MatchRegularExpression ToString WindowsVersion

List of WLanguage

commands

List of WLanguage commands used to program cursors, or to pro-gram all processes if you want.Programming with the WLanguage 5GL is very powerful yet veryintuitive.For example, seeking a row and all the associated routines (ope-ning the table, assigning data, etc.) is done in one simple, power-ful line of code:HReadSeek(CUSTOMER,NAME,"DOL")

The source programs are clear, easy to write and especially easy tomaintain; this reduces the chance for errors, and makes the appli-cations you develop more reliable, and faster.Plain English commands make it easier to use; the code is self-commented! (French available)The hReadSeek command can be understood by any developer,even the brand new ones!You can also program in French: the command becomes hLitRe-cherche.

Other example, creating a table is done in 1 line of code, withoutany script: hCreation.

Following is a non exhaustive list of WLanguage functions(5GL used by WINDEV, WEBDEV and WINDEV Mobile), andsummary of its action.

ScreenToFile Automatically initializes: - the memory value of a table's fields (file items) with the valueof the window or page's controls. - the value of the WLanguage variables with the value of thewindow or page's controls..

ScreenToSource Automatically initializes: -the memory value of a table's fields with the value of the win-dow or page's controls. -the value of the WLanguage variables with the value of thewindow or page's controls.

FileToScreen Automatically initializes the controls of a window or a pagewith: - the values of the controls associated with the table's currentrow) - the values of the associated WLanguage variables.

SourceToScreen Automatically initializes the controls of a window or a pagewith : - the values of the controls associated with the table's currentrow. -the values of the associated WLanguage variables.

WithSpace Adds or deletes the blank spaces to the right of a text control

when reading it..

HActivateFilter Activates the filter previously created for the specified table.

HActivateAutoFilter Activates an automatic filter on linked tables when browsingthrough an XML file.

HActivateTrigger Re-activates a trigger previously disabled using the HDeactiva-teTrigger function.

HActiveServerTrigger Re-activates a server trigger that was previously disabled.

HAdd Adds the row found in memory to the table.

HAddGroup Adds a group of users.

HAddLink Adds an integrity rule between two tables on the server.

HAddTask Adds a scheduled task to the server defined by the connection.

HAddUser Adds a user to a database.

HAlias Creates a logical alias for a table or cancels all the existingaliases.

HCancelAlias Cancels an alias that was previously declared using the HAliasfunction.

HCancelDeclaration Deletes a declaration previously performed with HDeclare,HDeclareExternal, or HDescribeFile.

HCancelSeek Cancels the current search criteria.

HCancelBackup Cancels a backup in progress.

HStopServer Stops a server.

HLinkMemo Associates a file with a binary memo (blob) type column.

HForward Moves forward several rows from the current position, basedon a specified column.

HLockFile Locks a table and restricts access to the table for all other ap-plications.

HLockRecNum Locks a row and restricts access to the row for all other appli-cations.

HChangeKey Changes the search key (column).

HChangeConnection Changes the connection to a database used for a table.

HChangeLocation Modifies the search mode of the tables.

HChangeName Modifies the physical name of a table.

HChangeDir Modifies a table's path.

HChangeLogDir Modifies the path to a log file.

HChangeRplDir Modifies the location of the subscriber replica's description(RPL file). This function must be used on the subscriber compu-ter.

HLoadParameter Reads a parameter previously stored in a stored procedurewith the HSaveParameter function.

HConnect Redefines one or more parameters of a connection to a specifictable or a set of tables.

HConnectRemoteAccess Opens an analysis in HyperFileSQL Classic format via remoteaccess.

HBuildKeyValue Builds the value of a composite key (index) to create a filter orperform a search.

HBuildKeyValueANSI On a Unicode platform (Pocket PC for instance), enables you tobuild the value of a composite key (index) to save it in aHyperFileSQL table.

HConvert Converts a numeric value into a binary string in order to per-form a search using a numeric key (index).

HCopyRecord Copies the content of the current record (current row) into thecurrent record of another file (the current row of another table).

HCopyFile Copies a HyperFileSQL table (file).

HCreation Creates an empty table using the described indexes.

HCreationIfNotFound Creates an empty table (if the table doesn't exist) or opens atable (if the table already exists).

HCreateSubscriberReplica Creates the description file of a subscriber replica (ReplicaA-bonne.RPL file).

HCreateMasterReplica Creates the description file of a master replica(Replicamaitre.RPL file).

HCreateMoveableReplica Creates a file that can be used to replicate data from the cur-rent database (to send by e-mail or CD for example).

HCreateView Creates a HyperFileSQL view.

HRecordDate Returns the date and time of the last write operation on a rowin a HyperFileSQL table.

HUnlockFile Unlocks a table (file) previously locked using the HLockFilefunction.

HUnlockRecNum Unlocks a row (a record).

HDeclare Declares a table description (found in another schema) in the

HyperF i leSQL • www.windev.com

18

Page 19: HyperFileSQL

current project.

HDeclareExternal Temporarily imports into the current schema, the description ofa table based on an existing HyperFileSQL table.

HDisconnectClient Displays a message on the client machines, and disconnectsthe application.

HDescribeConnection Describes a temporary connection.

HDescribeFile Describes a temporary table (data file).

HDescribeFullTextIndex Describes a full-text index in a table created by programming.

HDescribeLink Describes a temporary relationship (link) between two tables.

HDescribeItem Describes a column (item) of a temporary table.

HDescribeTrigger Adds or modifies a trigger on HyperFileSQL table.

HDescribeServerTrigger Adds or modifies a server trigger.

HStartServer Starts the server (uses MantaManager).

HLast Points to the last row of a table.

HDeactivateFilter Temporarily disables a filter on a table (a view or a query).

HDeactivateAutoFilter Disables an automatic filter on linked files when browsingthrough an XML file. This filter was enabled using the HActiva-teAutoFilter function.

HDeactivateTrigger Disables a trigger.

HDeactivateServerTrigger Disables a HyperFileSQL Client/Server server trigger.

HDeleteTrigger Deletes a trigger.

HDeleteServerTrigger Deletes a server trigger. This server trigger will not be availableanymore.

HDeleteView Deletes a previously created view.

HWrite Writes a row in a table without updating the corresponding in-dexes.

HOut Lets you find out if the row to which you want to point is out-side of the table, the filter, the view or the query.

HRecordToXML Retrieves the structure and the value of the current row and ex-ports them into an XML format character string.

HSendMessageToClient Displays a message on the client machines.

HError Returns the number for the last error set off by theHyperFileSQL engine.

HErrorLock Lets you test if a lock error happened.

HErrorDuplicates Lets you test if an error on duplicates happened.

HErrorStatusModification Returns the state of a row when a modification conflict occurs.

HErrorInfo Returns detailed information about the last error triggered bythe HyperFileSQL engine.

HErrorIntegrity Lets you test if an integrity error happened.

HErrorModification Returns the value of a control when a modification conflict oc-curs.

HErrorPassword Lets you find out if an error due to an invalid password happe-ned on this table.

HState Lets you find out the state of a row.

HServerStatus Lets you find out the state of a server.

HExecuteProcedure Runs a stored procedure or function.

HExecuteQuery Initializes a query created in the query editor and declares thisquery to the HyperFileSQL engine.

HExecuteSQLQuery Initializes a query written in SQL language and declares thisquery to the HyperFileSQL engine.

HExecuteView Executes a previously created view.

HExportXML Exports the rows of a file (HyperFileSQL or OLE DB), a view or aquery into an XML file.

HExtractMemo Extracts the contents of a blob (binary memo) type item into afile.

HClose Closes either a table (a file) or all the tables (all the files) thatare open.

HCloseAnalysis Closes the current analysis.

HConnectionClose Closes a connection to a database.

HFileExist Lets you find out if a table exists.

HFilter Defines and activates a filter on a file, a view or a query.

HFilterStartsWith Defines and activates a "Start with" type filter on a table, aview or a query. The "Start with" type filter lets you select allthe rows that start with a pre-defined set of characters.

HFilterIncludedBetween Defines and activates an "included between" type filter on atable, a view or a query. The "included between" type filter letsyou select all the rows found between two given values.

HFilterIdentical Defines and activates a filter that looks for the exact value of a

string type control. This filter can be used on a table, a view ora query.

HEndNoDatabaseAccess Reauthorizes access to one or more databases accessiblethrough a connection.

HEndNoModif Unlocks a table that has been locked in the same program bythe HNoModif function.

HFlush Forces the operating system on the computer where the tables(data files) are located to write the data directly to the disk.

HMergeView Creates a HyperFileSQL view from two previously createdviews.

HSetDistantAccess Temporarily disables remote access for accessing HyperFileSQLClassic tables found locally.

HSetCache Lets you configure cache management for the HyperFileSQLClient/Server engine.

HSetDuplicates Enables or disables the duplicate management for a key.

HSetIntegrity Enables or disables the management of an integrity constrainton a table's relationship.

HSetLog Enables or disables the log management of a logged table.

HSetMemo Enables or disables the management of blob (memo) type co-lumns.

HSetREP Enables or disables the management of the .REP file.

HSetReplication Temporarily enables or disables replication management.

HSetServer Enables you to modify some server parameters.

HManageTask Enables or disables a scheduled task for a HyperFileSQLClient/Server server.

HSetTransaction Enables or disables transaction management.

HSetTrigger Enables or disables trigger management.

HImportHF55 Imports a Hyper File 5.5 table into a table in HyperFileSQL Clas-sic format.

HImportText Imports a text file into a table in HyperFileSQL Classic format.

HImportXML Imports an XML file into a table in HyperFileSQL Classic format.

HInfoLock Returns some information about the lock of a table, a row or ofall the rows of a table.

HInfoDatabaseRights Enables you to find out the rights granted to a user or a groupfor a database.

HInfoFileRights Enables you to find out the rights granted to a user or a groupfor a table (data file).

HInfoServerRights Enables you to find out the rights granted to a user or a groupfor a server.

HInfoFile Returns the characteristics of a table found on a HyperFileSQLserver.

HInfoGroup Returns some information about the specified group of users.

HInfoLog Returns some information about the server logs.

HInfoMemo Returns the characteristics of blob (binary memos).

HInfoDatabaseProperty Enables you to find out the properties of a database located ona HyperFileSQL server.

HInfoFileProperty Enables you to find out the properties of a table located on aHyperFileSQL server.

HInfoServerProperty Enables you to find out the properties of a HyperFileSQL ser-ver.

HInfoReplica Returns information about the specified replica. Specifically,this function lets you find out if the database contains data toreplicate..

HInfoBackup Returns some information on one or more backups performedon a HyperFileSQL Client/Server server.

HInfoServer Returns the specified information about a server machine.

HInfoTask Returns the characteristics of a scheduled task in an advancedvariable of hScheduledTask type.

HInfoUser Updates the user management variables with informationabout the specified user.

HInitSubscriber Initializes the automatic identifier set of a subscriber replicafile description (".RPL" file).

HNoDatabaseAccess Disables all accesses to a database, or to databases accessiblethrough a connection.

HNoModif Prevents modifications on a table (for all the programs, inclu-ding the one that requested the no modification policy). Therows can only be accessed in read mode.

HLogInfo Inserts commentaries when creating an operation log.

HLogRecreate Lets you re-create an empty log. This function enables you forexample to reset a log after a save operation or a replication.The content of the existing file is lost.

HyperF i leSQL • www.windev.com

19

Page 20: HyperFileSQL

HLogRestart Restarts the logging of the table. This log operation has beenstopped by using the HLogStop function.

HLogStop Stops the logging of the table. The changes performed on thelogged file are not recorded anymore.

HFree Converts the crossed out rows of a table into deleted rows.

HFreePosition Deletes a position saved using the HSavePosition function.

HListAnalysis Returns the list of WinDev schemas available in a given direc-tory.

HListDatabase Lists the Client/Server databases associated with a connec-tion.

HListKey Returns the list of keys and indexes of a table recognized bythe HyperFileSQL engine.

HListConnection Returns the list of connections defined in the application(connections defined in the schema and/or dynamically defi-ned).

HListStoredElement Returns the list of elements stored on a HyperFileSQL server(set of procedures, stored procedures or queries).

HListFile Returns the list of tables of the current analysis or of a specificanalysis recognized by the HyperFileSQL engine.

HListGroup Returns the list of user groups defined for a connection.

HListFullTextIndex Returns the list of full-text indexes in a file (or query, or view)recognized by the HyperFileSQL engine.

HListLink  Returns the list of links (Merise type) found in the current ana-lysis or in a specific analysis.

HListParameter Returns the list of parameters saved from the server's storedprocedures.

HListeQueryParam Returns the list of parameters for a query created with thequery editor.

HListProvider Returns the list of OLE DB providers installed on the computer.

HListREP Returns the list of assignments for the tables found in an ana-lysis.

HListItem Returns the list of columns of a table recognized by theHyperFileSQL engine.

HListTask Lists the scheduled tasks of a server.

HListTrigger Returns the list of triggers applied to one or more HyperFileSQLtables.

HListServerTrigger Lists the various triggers available for a connection or for a fileof the connection.

HListUser Returns the list of users defined for a connection.

HListConnectedUser Lists the users currently connected to one or more files acces-sed by a Client/Server connection.

HRead Reads a row in a table based on a given row number.

HReadLast Points to the last row of a table, reads the row and updates theHyperFileSQL variables.

HReadPrevious Points to the previous row of a table, reads the row and up-dates the HyperFileSQL variables.

HReadFirst Points to the first row of a table, reads the row and updates theHyperFileSQL variables.

HReadSeek Points to the first row of the table whose value for a specificcolumn is greater than or equals to a value sought.

HReadSeekLast Points to the last row of the table whose value for a specific co-lumn is lower than or equals to a value sought.

HReadSeekFirst Points to the first row of the table whose value for a specificcolumn is greater than or equals to a value sought.

HReadNext Points to the next row of a table, reads the row and updatesthe HyperFileSQL variables.

HMigrateLinkedCompositeKey Migrates the value of the linked composite keys originatingfrom a Hyper File 5.5 format table that was migrated toHyperFileSQL Classic.

HRefresehSet Creates or updates a set of procedures on a new HyperFileSQLserver.

HRefreshQuery Creates or updates a query on a new HyperFileSQL server.

HMode Changes the mode and method for locking tables.

HModify Modifies in the table the specified row or the row found in me-mory.

HModifyDatabaseRights Modifies the rights granted to a user or a group of users for aHyperFileSQL Client/Server database.

HModifyFileRights Modifies the rights granted to a user or a group for aHyperFileSQL Client/Server table (data file).

HModifyServerRights Modifies the rights granted to a user or a group on aHyperFileSQL server.

HModifyGroup Modifies the group's information based on the elements found

in the corresponding group management variables.

HModifyDatabaseProperty Modifies the properties of a database located on aHyperFileSQL server.

HModifyFileProperty Modifies the properties of a HyperFileSQL file located on a ser-ver.

HModifyServerProperty Modifies the properties of a HyperFileSQL server.

HModifyTask Modifies a scheduled task on the server defined by the connec-tion.

HModifyUser Modifies a user's information based on the elements found inthe corresponding user management variables.

HNbRec Returns the number of rows (records) of a HyperFileSQL tableor view.

HRecNum Returns the row number of the current row in the HyperFileSQLtable or view.

HOptimize Optimizes the access to the indexes of HyperFileSQL Classic ta-bles: the indexes are loaded into the system cache. Speeds upthe first table read operations and the first query executions.

HOptimizeQuery Optimizes selection queries by taking advantage of an applica-tion's idle time (times without processes). Optimizes access toHyperFileSQL table indexes.

HOpen Opens a table.

HOpenAnalysis Opens an analysis in HyperFileSQL Classic format.

HConnectionOpen Opens a connection to a database.

HPass Sets the password used to create or open a table.

HGetCurrentPosition Returns the approximate position of the row inside the table.

HSetPosition Points to a row based on the approximate position of one of itscolumns. The row is read.

HPost Stores a unique computer number to use it for network trans-actions.

HPrevious Points to the previous row in the table. The row is not read.

HFirst Points to the first row of a table. The row is not read.

HPrepareSQLQuery Initializes a query written in SQL and declares this query to thedatabase server in order to optimize the next executions of thequery. This query is not executed. This query is executed laterby the HExecuteSQLQuery function.

HPriority Enables you to find out or modify the priority of the calling ap-plication.

HPriorityClient Modifies the priority of a client application.

HClearWorkingDir Clears and deletes the temporary directory previously createdby the HServerWorkingDir function.

HCross Crosses out a table row.

HReset Initializes one or all the controls of a table with their default va-lues.

HResetClient Initializes the structure for managing the client computers(HClient structure).

HResetGroup Initializes the group management variables with their defaultvalues.

HResetUser Initializes the user management variables with their default va-lues.

HSeek Points to the first row of the table whose value for a specificcolumn is greater than or equals to a value sought.

HSeekLast Points to the last row of a table whose value for a specific co-lumn is lower than or equals to a value sought. The record isnot read.

HSeekFirst Points to the first row of the table whose value for a specificcolumn is greater than or equals to a value sought.

HReconnect Performs a reconnection to the server for all the interruptedconnections.

HBackward Moves backward several rows inside the table from the currentposition, based on a specified column.

HRetrieveRecord Returns the contents of the current row.

HRetrieveLog Returns the server logs into a table for the period between twogiven dates.

HRetrieveItem Returns the contents of a column for the current row.

HRegenerateFile Regenerates a table based on its log.

HIndexingInProgress Warns if a reindex is in progress on a table and returns the per-centage of the reindex that is done.

HIndex Rebuilds a table's index.

HServerWorkingDir Returns the path of a temporary directory on the server.

HRestoreBackup Enables you to restore a backup performed by the HBackupfunction (or via the HyperFileSQL Control Center).

HyperF i leSQL • www.windev.com

20

Page 21: HyperFileSQL

HRestorePosition Restores the previously stored context of a table.

HRplDeclareLink Declares a (1,1) (0,n) type link between two tables. Only therows of the target table that have a corresponding row in thesource table (taking its filter into account) will be replicatedduring a heterogeneous replication.

HRplFilterProcedure Defines the WLanguage procedure that will be called for eachreplication operation for a given table. This procedure is execu-ted by the HCreateMoveableReplica and HSynchronizeReplicafunctions.

HBackup Performs the backup of the content of a HyperFileSQL server.

HSaveParameter Saves a persistent value from a stored procedure.

HSavePosition Stores the current context of a table.

HSecurity Enables or disables the security mechanism.

HStatCalculate Performs various statistical calculations on a table's keys.

HStatDate Returns the date for the last update of the index statistics.These statistics were computed using the HStatCalculate orHIndex functions.

HStatTime Returns the time of the last update of the index statistics.These statistics were computed using the HStatCalculate orHIndex functions.

HStatNbDuplicates Returns the number of duplicates for a given column.

HStatNbRec Returns the number of entries for a given column.

HStatNbRecRange Returns an estimate increased by the number of entries for agiven column within a given value interval.

HSubstDir Replaces the logical name of the data directory (specified inthe analysis) by a physical name.

HNext Points to the next row in the table. The row is not read.

HDelete Deletes a row from a table.

HDeleteDatabase Deletes a database found on a HyperFileSQL server.

HDeleteSet Deletes a set of stored procedures from a HyperFileSQL server.

HDeleteFile Deletes HyperFileSQL files (.fic, .ndx and .mmo files if any) fromthe server.

HDeleteGroup Deletes from the server a group of users associated with aconnection.

HDeleteLink Deletes an integrity rule between two tables on the server.

HDeleteParameter Deletes a parameter previously saved by the HSaveParameterfunction.

HDeleteQuery Deletes a query from the HyperFileSQL server.

HDeleteBackup Deletes a backup previously done by the HBackup function.

HDeleteTask Deletes a scheduled task from a HyperFileSQL Client/Serverserver.

HDeleteAll Deletes all the records from a data file or a query.

HDeleteUser Deletes from the server a user associated with a connection.

HOnServerCall Customizes the display of a message on a user computer andthe disconnection of a client computer.

HOnError Customizes the automatic error management.

HSynchronizeReplica Synchronizes a master replica and a subscriber replica.

HTransactionCancel If a transaction is in progress, cancels all the operations on thetables in transaction since the beginning of the transaction.

HTransactionStart Starts a transaction on HyperFileSQL tables, and creates thetransaction table.

HTransactionEnd Validates the current transaction.

HTransactionInterrupted Indicates if a transaction was interrupted (the transactionwasn't validated nor canceled). The characteristics of the inter-rupted transaction can be known using HyperFileSQL variables.

HTransactionFree Transforms all the rows "in transaction" into "Normal" rows ifthese rows do not belong to a transaction currently in pro-gress. If a row from the specified table is considered in transac-tion, but does not belong to any current transaction, it isautomatically freed.

HTransactionList Lists the transactions in progress or interrupted on the serverof the specified connection.

HSortView Sorts a view by creating an index based on a view's column.

HFound Checks if the current row corresponds to the current filter orthe current search.

HCheckIndex Verifies that the data found in the index file (.NDX file) correctlyrefers to the data found in the table (.FIC).

HCheckStructure Sets the comparison mode of the files.

HToFile Copies a data source (view, query, …) into a physicalHyperFileSQL table with the same description. This table is notencrypted or protected by password.

HVersion Enables you to find out if the content of a table has been modi-fied.

HToItem Assigns the specified value to an item in the current row.

HViewToFile Saves the modifications performed in a view into the corres-ponding table.

VOCABULARYThe vocabulary varies depending on the participants. The same concept is often described through different terms.Everyone has his or her "own" standards and habits!Here is a small dictionary of synonyms for the terms used in thefield of databases.

PC SOFT vocabulary Other vendors

Analysis (CDM, LDM) Schema, relational model, entity/relationship model

Analysis diagram Schema diagramFile TableItem Column, Field (a field is the Intersection

between a column and a row)Record Row (tuple)Link RelationshipLock LockKey IndexUnique key Primary keyKey with duplicates Foreign key our key without uniqueness

constraintsRelationship item Foreign keyWindow FormControl FieldReport ReportVisualization table Datagrid, BrowseScheduled task SequencerText memo Lob or clobBinary memo Lob or blobStored procedures UDF (User Defined Function)

A database is a set of tables (files) linked through relationships(links).A table (file) is a set of data structured in columns (items), madeof rows (records). The intersection between a row and a column isa field (item value).An index is used to speed up searches, queries and access to atable. An index can be defined on a column (key item) or on several co-lumns (composite key).A primary key is a unique key. A foreign key is a key, which may have duplicates, used inconnection with a primary key to establish a relationship betweentwo tables.

HyperF i leSQL • www.windev.com

21

Page 22: HyperFileSQL

WHO USESHYPERFILESQL?

Several millions copies of HyperFileSQL are deployed worldwide,in over 100 countries.HyperFileSQL is deployed on very sensitive sites (Web, telecom,enterprises, banks, medical, research, software publishers, admi-nistration, government, etc.) that also require high availabilitywith speedy real-time performance and high modification rate.

Testimonials

Here are some testimonials:

«When it comes to performance, HyperFileSQL delivers. It'salways instant»

"The HyperFileSQL database has dazzled users by itsincredible query response times"

"Concretely, each remote radio accesses a HyperFileSQLClient/Server database through ADSL"

"We benefit from the HyperFileSQL database establi-shed performance. The result of all our queries is ins-tant"

"We have close to 10,000 records that are managed byHyperFileSQL Mobile and access times are instant"

"All our sales people and our clients are impressedby the access speed of the database."

"The HyperFileSQL database offers a replication mechanismthat it sophisticated yet easy to implement"

"Of course we deployed the HyperFileSQL databaseon the interactive kiosks. Its reliability and free unli-mited distribution is a major benefit for a fleet ofmore than 700 kiosks. The 1,000 kiosks mark will bereached soon".

You will also find some technical videos and testimonial videos onthe www.windev.com site.

LIST OFHYPERFILESQL BENEFITS

Here is a summary of the many benefits linked to theadoption of HyperFileSQL:• Feature rich• Free (complete version, unlimited, with all the tools)• Schema description tool • Easily installed • Easily embedded• Easily administered (self-administered, self-optimized)• Administration tools provided• Clean design• Excellent integration with PC SOFT's best sellers: WINDEV,

WEBDEV, WINDEV Mobile• Encryption of data, tables and indexes• Encryption at the different levels: columns, backups, network

traffic• Ease of use• Compatible with Windows, Linux, Mac, Mobile• Compatible versions: local, network, embedded, client/server• All-in-one solution with WINDEV and WEBDEV: RAD oriented, it

manages tables, processes, windows and reports• Easy to write stored procedures• SubSELECT possible in FROM statement• Live and differential backups• SQL close to the standard• Unicode• Efficient support for different character sets and sort orders, gra-

nular to the column level• Easy replication• Automatic reconnection• Easy monitoring• High availability with clustering• Performances • Longevity • Audit, tuning functions• Query optimization• Support for Full Text indexing• Blob, Lob• Integrity constraints• Efficient support for different character sets and sort orders, gra-

nular to the column level• All in English (or all in French)• Automatic maintenance of the schema (SDD), on an unlimited

number of deployed databases• Easy to deploy and to get started with• Robustness with high volumes• Frugal with resources • Access security • Automatic load balancing between the various clients

HyperF i leSQL • www.windev.com

22

HyperFileSQL is provided for free with theWINDEV, WEBDEV and WINDEV Mobile IDE.HyperFileSQL is optimized for working withthese environments.The HyperFileSQL database engine can beused freely and at no charge when distribu-ted with applications or sites created usingthese IDEs, regardless of the number of co-pies deployed and regardless of the type ofapplication (educational applications, perso-nal applications and business applications).

There are no royalties to pay, no declarationto perform.The deployment is free, unlimited and at nocost.Please see the text of the user license for anyadditional information.The ODBC driver and the OLE DB providercan be distributed at no cost with applica-tions built using WINDEV, WEBDEV, orWINDEV Mobile.The tools mentioned in this document are

provided with the product.

All trademarks are registered trademarks oftheir respective owners.Some functions may not be available rightaway when the version is shipping, but willbe offered later as downloads. WINDEV,WEBDEV and WINDEV Mobile are professio-nal software. Despite the care taken in creating this docu-ment, it is not contractual. Screen shots and

lists are for information purposes only. Do not hesitate to contact us for any addi-tional information or to get a confirmationabout a feature. Environmental policy : When PC SOFTprints paper documents, PC SOFT, the paperprovider or the printer (which is FSC – ForestStewardship Council – and PEFC – Programfor the Endorsement of Forest CertificationSchemes - certified) replant as many trees asused for printing.

The FSC label was created by the FSC NGO,which gathers Greenpeace, Friends of theEarth and WWF, among others.For example, printing 100,000 68-page do-cuments on glossy paper consumes 10 trees:PC SOFT immediately has 10 trees replanted. Also, we favor paper pulp made primarilyfrom recycled wood products (such as woodcoming from furniture mills) and forestmaintenance clearing cuts.

Page 23: HyperFileSQL

HyperFileSQL is your data'sbest ally!

You too, like millions of users the world over, take advantage

of the security offered by HyperFileSQL.

Page 24: HyperFileSQL

®

www.windev.com

RDBMSWindows, Linux, MacClient/Server, Single compu-ter, Mobile, Embedded

• SQL RDBMS• Windows, Linux, Mac• Local• Mobile• Embedded• Client/Server• Cluster• High capacity• Any type of data• Unicode• Index, multi-column

index, keys• Referential integrity• Full text• Stored procedures• Triggers• Referential integrity• Logging• Transactions• Data compression• Frame compression• Automatic row lock• Automatic reconnection• Sequencer• Replication• SDD• Right management• SQL injection impossible• Encryption• OLE DB Provider• ODBC driver• Control Center• Hot Administration• Backups• Database modeling• Query generator• Reporting• Data viewer• Monitoring engine• Native link with

WINDEV, WEBDEV and WINDEV Mobile

• Free deployment*

PERFORMANCE, SECURITY, AVAILABILITY

WINDEV • WEBDEV • WINDEV Mobile