HFSQL US
HFSQL US
DATABASE
Windows, Linux, Mac, Android, iOS (iPhone, iPad)
Client/Server, Cluster, Cloud, Standalone, Mobile, Embedded
www.windev.com
WELCOME TO A WORLD OF
SECURITY AND PERFORMANCE
A
The
n enterprise’s data is a strategic resource.
Relational Database Management System allows
you to manage this data safely.
The performance is remarkable.
Used on several millions computers the world over, the flexibi-
lity and the scalability of allows real time responses to
the most demanding mission critical applications.
You too, choose !
Table of contents
Overview 3
Local 4
Mobile – Embedded 4
Client/Server 4
Cluster - Cloud 5
Types of data and index 5
SQL 6
Features 6
Security 10
Openness 11
The tools 12
Programming 17
List of supported SQL statements 17
List of WLanguage commands 18 HFSQL was first released in 1998.
Vocabulary 21
Who uses HFSQL? 22
FSQL Technical-commercial documentation.
Benefits 22
H Some knowledge of WINDEV, WEBDEV or version 2013-10. Reference version: 19
Documentation
WINDEV Mobile is useful. If you’re not familiar
with them, don’t hesitate to request their complete
documentation (free).
100% Windows
H F S Q L • w w w. w i n d e v. c o m
3
VERSIONS
HFSQL is available in 5 versions. These ver-
sions are compatible among themselves.
LOCAL VERSION MOBILE VERSION It is fully compatible with the Local and
(”CLASSIC” VERSION) Client/Server versions: tables, index, rela-
(EMBEDDED) tionships, constraints.
The local version (standalone and network) HFSQL is totally adapted to mobile devices Depending on your needs, access to ex-
of HFSQL offers performance, ease of de- of all types. ternal data of the I.S. from a mobile ap-
ployment, installation and maintenance. HFSQL only requires small amount of re-
plication can be made with many
This version is also called ”Classic” version sources, and installs on all mobile devices
because it is the first version that came technologies: ActiveSync, Direct access,
(terminal, smartphone, tablet) that run on
out, back in 1988. RPC access, Web services, Sockets, Di-
Windows CE, Windows Mobile, Windows
Compatibility with previous versions is 8 RT, iOS (iPhone and iPad), Android. rect stored procedures...
complete (tables, index, relationships, The installation is very simple, and mainte-
constrains). nance, almost zero, is automated.
This version is specifically designed for The performance is amazingly fast.
standalone computers and small networks.
A common use for the Classic version is in-
tegrated into a software.
iOS
The database is created and installed auto-
matically on the end user’s machine. The
maintenance is automatic.
A HFSQL database can also be installed
and used directly on a USB key.
This is useful for
mobile applica-
tions, or for very
sensitive data.
HFSQL Classic ins-
talls on machines
with Windows
(2000, 2008,
2012, Vista, 7, 8,
10 ...), MacOS,
iOS, (iPhone and
Imagine, 128 GB on a memory card is now
iPad), Android and common. Thanks to HFSQL you can now easily
Linux. and for a low cost embed large size secure data-
bases (up-to 130 million rows) on mobiles, ta-
blets, smartphones.
CLIENT/SERVER the administration is easy though very po- in all their versions.
werful.
VERSION Some of the supported Linux distribu-
HFSQL is not limited in the number of
processors used, or memory. tions:
Load balancing is supported for better • RedHat, Debian, OpenSuse, Ubuntu,
response time. Fedora, Mandriva, CentOS...
The engine is auto-restart. Among the supported clients:
HFSQL works both in 32-bit and 64-bit • 32-bit and 64-bit Windows
modes. Servers and clients can be • Linux
The Client/Server version of HFSQL is mixed. • MacOS, iOS
the ideal version for managing large Some of the supported Windows ser- • Windows CE and Mobile
number of users and remote accesses. vers: • Android
Local and remote accesses are supported. • Windows Server 2012, 2008, 2003, • ...
The installation is extremely simple, and 2000, XP, Vista, 7, 8...
H F S Q L • w w w. w i n d e v. c o m
4
CLUSTER VERSION (SERVER FARMS) CLOUD
H F S Q L • w w w. w i n d e v. c o m
5
Texts can be contained inside text or SELECT
blob type controls. Product.Name AS Name,
A full text index can index one or more SQL: SUM(OrderLine.Quantity) AS Quantity_Sum,
Customer.ZipCode AS ZipCode
columns, therefore a single search can
be done on several columns at the same
OVER- FROM
Product
time. VIEW LEFT OUTER JOIN
(
Hallow words are supported. (
HFSQL supports the Customer
INNER JOIN
CAPACITY (VOLUMES) ANSI SQL 92 standard. Orders
The SQL supported by ON Customer.IDCustomer = Orders.IDCustomer
HFSQL Client/Server offers large storage )
HFSQL also accepts a
capacity, in line with current and future INNER JOIN
large number of additio-
storage models, as well as the ever increa- OrderLine
sing needs of enterprises. nal and specific syntax ON Orders.IDOrders = OrderLine.IDOrders
During a recent roadshow, in front of for SQL Server and Ora- )
ON Product.Reference = OrderLine.Reference
more than 10.000,20 professional develo- cle, among others. WHERE
pers, PC SOFT demonstrated the use of a HFSQL supports sub- Customer.ZipCode LIKE ‘34%’
HFSQL database containing more than 20 queries and nested que- GROUP BY
Product.Name, Example of an
billions rows: data searches started ins- ries. SQL query
Customer.ZipCode
tantly! HFSQL supports union
operators: union, carte-
sian, join, external join, aggregation ope-
HFSQL MAXIMUM CAPACITY rators: count, sum, avg, min, max, FEATURES
standard-deviation, variance, sort and
Columns per table 65,535 group operators: group by, having, order HFSQL offers a large number of features.
by... You’ll find the description of the main fea-
Index per table 65,535 The speed of the SQL engine is optimi- tures below.
zed by the use of index statistics and the The entire online help for HFSQL is availa-
329 millions of constraints for choosing the most discri-
Rows per table billions ble on the Internet at doc.windev.com
minating access indexes in queries.
Table size 4 millions of TB The advanced management of memory
caches also improves performance. STORED PROCEDURES
Row size 2 GB The engine automatically performs load (UDF)
balancing: if a client executes a large The stored procedures (sometime called
Column size 65,535 bytes number of queries requiring a lot of re- UDF) are used to simplify the develop-
sources (CPU, ...), the server automati- ment and the maintenance of your ap-
Size of a blob column plications by factorizing the code.
(text memo, image, cally balances the load in order to not
video, binary, etc.) 4 GB penalize the other clients. Indeed, when the method for calculating
 a result or a business rule found in a sto-
Simultaneously with the SQL code, you
can benefit from the functional richness red procedure evolves, all you have to do
of the WLanguage 5GL. is modify the stored procedure on the
The direct use of WLanguage functions server without performing any modifica-
and the call to stored procedures (deve- tion in the deployed applications
loped in WLanguage themselves) are A stored procedure is also used to limit
possible in your applications. the number of back and forth processes
You’ll find at the end of this document between the client computer and the
the list of SQL functions supported by server, and therefore increases the speed
HFSQL, as well as other programming in- of processes.
formation (cursor programming). The same stored procedure can be sha-
red among several applications.
Stored procedures are programmed
using WLanguage, and therefore benefit
329.000.000.000.000.000
329 millions of billions... This is the number of rows (records) that can be found in a HFSQL table: you’re
safe!
from the feature richness and ease of cesses the database and that performs ponding rows in the linked tables are
use of the 5GL. Stored procedures ac- the defined operation, without the ap- also deleted (this constraints can be en-
cept parameters and can return integers, plication’s developer having to program able or disable for each relationship)
strings, dates, etc… anything.
The creation of a stored procedure from Server triggers, as their name indicate, LOGS
the WINDEV or WEBDEV environment is are run directly on the server.
The log is a special table where all the
really easy. The right to create a trigger is defined
operations performed on one or more
via the database’s rights.
tables from a given time are automati-
SQL VIEWS The WINDEV environment indicates to
cally stored.
the developer the presence of these trig-
An SQL view is a ”virtual data source”, The log contains the history of the log-
gers. Triggers are viewed in the data
defined via an SQL query. ged tables: author, date and time, be-
All the SQL views created are kept on the schema.
fore/after value, application name, IP ...
HFSQL server, and they can be reused
from the applications accessing the data- INTEGRITY: The following operations can be perfor-
base. CONSTRAINTS, med from a log:
The application can create queries on • restore the content of a logged table if
these SQL views.
DELETIONS, the data is lost or destroyed
An application can use SQL views to not CASCADING UPDATE • restore the content of a table up to a
be dependent on the physical organiza- It is easy to define integrity constraints. given date
tion of data in the database. The cardinalities can be configured: • find the author, the date and time of
”Materialized views” are also available. (0,n); (0,1); (1,n); (3,n); etc. an operation performed on a specific
The fundamental difference with a simple Reflexive links are supported.
SQL view is that the result of a ”materia-
row
Constraints examples: • Keep the history of a table use (to cal-
lized view” is physically stored on the ser-
• Referential integrity: culate statistics for instance)
ver’s drive.
Unlike an ”SQL view” which is re-extrac- referential integrity will prevent an au- These operations can be run from a
ted at each call, a ”materialized view” thor from being deleted, as long as the command line, from the WDLog tool or
stores the data on the drive. database contains at least one book re- via programming.
ferring to this author.
You cannot delete a row in a table if this
TRIGGERS row is linked to other table rows. For
A trigger allows you to trigger a stored example: you cannot delete a customer
procedure before or after an event on a if there are orders linked to this custo-
database table: for example when dele- mer.
ting a row, or after modifying a row. Referential integrity can be defined for
A trigger brings a lot of security. each link, from the data model editor.
The trigger will get triggered regardless • Cascading deletion:
of the application or component that ac- If a row is deleted in a table, the corres-
H F S Q L • w w w. w i n d e v. c o m
7
TRANSACTIONS: frame compression is very important. of the connection, all the buffers and
HFSQL ACID The speed for remote connection is im- positions are stored and reassigned.
proved. The application can resume without any
A transaction is a set of indissociable
error, as if the connection never was in-
operations: either all the operations in
AUTOMATIC ROW terrupted.
the transaction are performed, or none
You can also manage the connection in-
is performed. LOCKING terruptions by programming, or execute
Transaction management is the best way HFSQL supports locks at the table level additional processes if you want.
to ensure the integrity of a set of indis- and at the row level.
sociable write operations performed on Support for locks at the row level en-
HFSQL tables. sures better access security. BACKUP
A transaction is used to make sure that
the updates performed on one or more
tables have successfully completed.
SEVERAL DATABASES ON
HFSQL supports all the types of transac-
THE SAME SERVER
tions, and therefore meet the ACID crite- HFSQL classic supports the presence of
ria (ACID is the acronym for Atomicity, several databases on the same server.
Consistency, Isolation and Durability). The databases are isolated.
HFSQL Client/Server offers 4 isolation Specific rights can be defined on each
modes for transactions. database.
• Unvalidated data (READ UNCOMMIT- This prevent having to use multiple ser-
TED) vers.
• Validated data (READ COMMITTED)
• Instant transaction photography (RE-
PEATABLE READ) AUTOMATIC
• Serializable transaction (SERIALIZABLE). RECONNECTION
This feature automatically manages dis-
”BLOB” connections happening between the Backup configuration
DATA COMPRESSION client and the server. Backups are important features of a da-
Usually, this problem occurs with hard- tabase.
”blob” type data (text and binary ware whose connection with the server
memos) can be compressed to optimize You can save the entire server’s content,
is not always on: mo-
the space used on the disk. only the database, or only a selec-
bile devices (Wi-Fi,
The space used can be significantly redu- tion of tables with or without
3G, 4G, ...) nota-
ced this way. bly. index.
In a Wi-Fi HFSQL supports
FRAME COMPRESSION connection for hot backups, as
example, the link well as diffe-
between a remote rential backups.
device and the ser- A backup is por-
ver can be inter- table, for instance
rupted briefly. from a Windows server
This can also to a Linux server, or from a
happen on Client/Server version to a Classic
regular version.
A frame is a data packet that flows on wired net- A backup can be triggered from
the network. works. the Control Center (instant
HFSQL, like all the DBMSs, is using When the backup, scheduled backup), or
frames to establish communication bet- application via programming, directly from
ween the server and client computer. is reconnec- the application.
A server’s data transfer speed depends ted, the ap- The frequency of the full
on the travel speed of the frames plication needs to backup and the differential
through the network and on the size of resume at the point backup can be specified. For
these frames. where the connection example: 1 full backup every
Frame compression allows you to reduce was interrupted, and make month and a differential
the size of the packets traveling over the sure the buffers are accu- backup once a week.
network. rate. The execution of stored
In a context of remote communication, With the automatic resuming procedures before
H F S Q L • w w w. w i n d e v. c o m
8
and/or after the backup lets you perform REPLICATION
automated processes. send email, copy
the backup to a network location, etc...
The number of backups to keep can be
specified.
A backup can be performed ”hot”, wi-
thout disconnecting users, transparently,
without interfering with the applications.
INTEGRATED SCHEDULER
(SCHEDULED TASKS)
HFSQL has an integrated scheduler that HFSQL offers 4 types of replication:
lets you define and configure scheduled • HFSQL server replication DSS: Automatic update of the
tasks. • replication between heterogeneous data schema (also called Auto.
databases, a HFSQL and Oracle data- Modif.)
A task consists not only in executing a base for example DSS automatically performs:
stored procedure (UDF), but also in trig- • replication with mobile devices (iOS, • The comparison and synchronization
gering a backup, or in forcing a perfor- Android, ...) of the database structure and data
mance optimization request. • offline replication, without permanent against the reference schema
link • The addition, deletion or renaming of
The definitions is done in the Control columns
center or via programming you can A replication is easily defined via the repli-
• The change of type, size
create, add, modify, enable, disable tasks cation wizard, or via programming.
• The addition/deletion of key/index, ad-
scheduled via programming, or from the dition/deletion of constraints
administration tool, as long as you have AUTOMATIC DATA • The addition/deletion of triggers and
the proper rights. MODIFICATION ON stored procedures.
EACH SITE (DSS) DSS can also be started via command
Which developer hasn’t complained line or programming.
about having to write some quick and This DSS feature can be executed live
dirty hack to add a column or increase (hot), without disconnecting the users,
its size, add an index to an existing table, transparently, without interfering with
or change the type of data in a column? the applications running.
Writing those scripts is always tricky be-
cause they alter the data.
”HOT” ADMINISTRATION
With HFSQL these will be things of the A large number of maintenance tasks
past! can be performed live (”hot”), without
needing to disconnect users, and wi-
HFSQL manages the evolution of the thout interfering with their running ap-
data schema transparently thanks to the plications, which continue to read and
DSS (Data Schema Synchronization) write data during this time:
Graphical and user-friendly inter-
face of the scheduler (scheduled technology. • Hot ”auto modif” DSS
tasks) • Hot reindexing
No more ”hack jobs”! No more scripts! • Hot automatic optimization of perfor-
The scheduler allows the DBA to pro-
No more risky ”Alter table” commands! mances
gram the automated execution of tasks
• Hot change of password
on the server: it also allows you to create
• Save.
batch processes.
Tasks can be run at a set date, and re- LINK WITH OTHER
peated at regular intervals. DATABASES
You can of course use HFSQL in parallel
with other databases. Actually, most IT
departments use several heterogeneous
databases.
The same application can use a HFSQL
H F S Q L • w w w. w i n d e v. c o m
9
database simultaneously with another to calculate statistics
For the server:
database. • Rights to perform automatic table mo-
• Rights to delete and add users or
HFSQL also lets you import and export dification (DSS)
groups
data with other databases. • Rights to delete a table’s rows
• Rights to see the users and the groups
• Rights to delete a table’s rows
• Rights to create a database
• Rights to delete a database
• Rights to change the rights
• Rights to delete a table by program-
• Rights to stop the server
SECURITY • Rights to change your own password
ming
• Rights to enable and disable the mana-
• Rights to disconnect the client compu-
gement of integrity
The integration, the automatic lock ma- ters
• Rights to lock access to a database
nagement, the Control Center ... ensure • Rights to send messages to the client
• Rights to run stored procedures and/or
by their very own existence a strong se- computers
WLanguage commands in the queries
curity. • Rights to configure the server
• Rights to configure the stored proce-
Security specific features are also availa- • Rights to configure the priority of users
dures
ble. • Rights to perform backups
• Rights to debug the stored procedures
• Rights to configure the scheduled tasks
• Rights to modify the triggers
ACCESS RIGHTS: • Rights to see the activity statistics and
• Rights to perform backups.
the logs of the server
AUTHENTICATION FOR • Rights to define a server replication. At a table’s level:
ESTABLISHING THE • Rights to add new rows into a table
CONNECTION At the database level:
• Rights to lock the tables or the table
• Rights to add new rows into a table
The server has a user authentication sys- rows
(data file)
tem. • Rights to change the rights
• Rights to lock the tables or the table
It checks that a user is authorized to • Rights to modify the integrity rules on
rows
connect, and then that he has sufficient a table
• Rights to change the rights
rights to run his queries: for example • Rights to modify the owner of an ele-
• Rights to modify the integrity rules on
rights to delete rows when running a de- ment
a table
letion query. • Rights to enable and disable the mana-
• Rights to modify the owner of an ele-
You can restrict access for a user based gement of duplicates
ment
on his IP address or a DNS name. • Rights to read a table’s rows
• Rights to connect to a server (encryp-
The tuning of the rights is very granular. • Rights to start a re-index operation or
ted and unencrypted connection or
at the server level, the database level or to calculate statistics
encrypted connection only)
the table level. • Rights to perform automatic table mo-
• Rights to create a table via program-
dification (DSS)
You can choose to do it by programming ming
• Rights to delete a table’s rows
or via a user-friendly interface. • Rights to enable and disable the mana-
• Rights to delete a table’s rows
You can define an expiration period for gement of duplicates
• Rights to delete a table by program-
password. • Rights to read a table’s rows
ming.
You can define groups of users. • Rights to start a re-index operation or
SQL INJECTION
NOT POSSIBLE
The use of the WINDEV window genera-
tor and WEBDEV page generator, with
their edit controls that are automatically
generated based on the data schema,
makes attacks via ”SQL injection” al-
most impossible, and this automatically.
The use of SQL queries created with the
query editor brings the same level of se-
curity.
The data that the end user enters are au-
tomatically checked, in real time as soon
as they’re entered, and are not sent to
the application if they’re unexpected, er-
roneous or inconsistent.
HFSQL Control Center: defining the rights
H F S Q L • w w w. w i n d e v. c o m
10
ENCRYPTED DATABASE IMPORT logs and activity statistics,
CONNECTIONS • Define the connection port to the ser-
The WDCONVER tool (provided with
ver,
The connection between the client and your product) lets you import third-party
• Define the port for remote debugging,
the server can be encrypted. databases: Oracle, SQL Server, MySQL, ...
• Edit the accounts
To define a high level of security, you can The import of the data schema is auto-
• Manage the current transactions,
forbid non-encrypted connections to the matic.
transaction rollback
server. Data import from text formats (customi-
• Manage scheduled tasks
zable separators: tab, espace…), CSV,
• Create backups
XML, is also supported.
ENCRYPTING THE DATA • Manage the backups
Data access can be secured, and data it- • Hot tuning: cache size, log activation,
self can be secured. etc.…
• Create, delete, import databases.
We can specify that the opening of the
table requires a password. THE ADMINIS- • Database explorer • Run the queries
The data itself can be encrypted.
Several encryption modes are supported:
TRATION • Save and restore the data,
• View the structure of the tables.
• Standard on 128 bits TOOL • Automate common functions.
• RC5 12 rounds in 128 bits • Monitoring.
• RC5 16 rounds in 128 bits. ADMINISTRATION: • Manage users and groups of users, as
well as their rights
If an attacker obtains an encrypted file HFSQL CONTROL CENTER • Manage the connected users
(theft, copy, recovered from a recycled
The HFSQL Control Center is an essential • User disconnection
machine, on a lost computer, ...), he or
management tool with an intuitive and • Gather accurate statistics on the server
she won’t be able to use it.
user-friendly graphical interface. use: computers, queries, logs, parame-
The HFSQL Control Center lets you per- ters, …...
INCIDENT DETECTIONS form a large number of tasks, from a • View row locks
When the HFSQL server detects an inci- network computer or from the Internet, • ...
dent (for example an inaccessible replica- such as:
ted server, or a schedule tasks that • Database management
triggers an error), the server sends a no- • Management of the data size
tification of this incident to a list of spe- • Stop/start the various server instances
cified email addresses. • View information specific to the server,
the database, the tables
• Uninstall the HFSQL server
• Display the list of current connections
OPENNESS • Ability to end/disallow connections.
• Send messages to users
• Configure the location of the data-
HFSQL is open to all the technologies, bases, activation and location of the
and is easily inserted into your existing
Information System.
32 & 64 BIT
ODBC DRIVER
The ODBC driver (32 or 64 bit driver) al-
lows third-party applications to access
the data stored on a HFSQL server, such
as PHP, Python, Ruby, Access…
H F S Q L • w w w. w i n d e v. c o m
11
• control screen (visual warning and/or
sound)
• starting a WLanguage procedure LINK WITH
• third-party program (this program can
for instance, send a configurable mes-
WINDEV,
sage via SMS to chosen numbers). WEBDEV AND
Among the monitoring parameters that
can be specified, you’ll find:
WINDEV
• the frequency: test interval, from 2 mi- MOBILE
nutes to 1 day
• repetition: in case there’s no answer
from the monitored element, how
often to retry and how long before
triggering the warning
• text of the message to send
The HFSQL Control Center SQL • the message’s medium (SMS, e-mail,
querier
…)
H F S Q L • w w w. w i n d e v. c o m
12
”Each order can have several products: • The generation of DDL scripts
YES or NO”, etc. • The export of the data model in a vec-
The wizard also asks whether checking tor image format.
referential integrity must be automatic
or not. CURSOR IN WINDEV
The wizard then asks whether to gene- AND WEBDEV
rate any relationship tables necessary, or
Native programming in WINDEV and
whether to use existing tables.
Finally, the wizard asks for relationships’ WEBDEV is greatly facilitated by a set of
name: the schema is defined. highly advanced automations and wi-
A documentation of the database zards.
schema can be printed at any time Relationships between tables are auto-
(hardcopy, HTML, PDF, Word, OppenOf- matically detected.
fice). The access to a database control is easily
defined using a clear and intuitive syn-
A partial data schema
(an anaysis) tax: table name, column name (For
example: customer.name).
An automatic import of existing schemas
In the environment, the code entry assis-
can be performed.
tance is constant and helps avoid typos
The editor knows how to import sche-
mas from databases such as HFSQL, SQL and having to look up names.
Server, Oracle, OLE DB, …
To create a data description, we start by
PERFORMANCE TUNING,
specifying the type of columns, the type AUDIT
of keys (index) ... The Profiler and the Dynamic Audit let
Any new column is stored in the data Pages taken out of a you analyze an application’s perfor-
dictionary. documentation mance, and thus verify that the data ac-
Then we just need to define the rela- cess is programed in an optimum way.
tionships between the tables. The visual data model editor also sup- Tuning allows you to optimize queries,
To link tables, simply draw a link with ports: check index, set up statistics, monitor
the mouse! • Reverse analysis from a server
the server and control the memory, the
The wizard asks questions in natural lan- • Logical or physical modeling
CPU use, disk space, connections, etc.
guage to determine the nature of the re- • Connection editing
The Explain SQL function enables you to
lationships. For example ”A customer • Schema comparison
• Schema history analyze in what order a query is execu-
can have several orders: YES or NO”,
ted.
AUTOMATIC
ASSISTANCE FOR THE
END USER
In a WINDEV application, the assis-
tance to the end user is automatically
provided on HFSQL aspects in the case
of the following errors:
• detection of the non-protected
concurrent accesses
• duplicates
• non respect of the integrity
constraints
• wrong password
• disconnection
• lock. In this case, 2 users are trying to modify the same control at the same time! A
if one of these errors occurs, the appli- window comes up automatically and asks for the correct value.
No programming is required.
cation automatically displays a relevant
help window.
H F S Q L • w w w. w i n d e v. c o m
13
MULTICONTEXT
You can use several contexts and several
different connections on the same data-
base at the same time.
UML
The UML class diagram Example of a window created with WINDEV from the data schema
H F S Q L • w w w. w i n d e v. c o m
14
QUERY EDITOR Creating a query is simple: using the wizard, choose the co-
lumns to include and the selection conditions, then the query is
Query creation is done in SQL or in WLanguage 5GL.
generated in optimized SQL code.
The queries can be directly coded, or generated by the query
The editor can also perform a reverse-analysis of existing que-
editor (Reports & Queries).
ries.
This editor comes with WINDEV and WEBDEV, and can be
A query can use the result of another query as its source.
freely distributed to the end users of the applications you’ve
created.
The query editor lets you optimize the database description
(schema) by detecting and defining the indexes needed Display all OrderNumber, OrderNumberCustomer, OrderDate,
for the best runtime performance for the created queries. CustomerNum, PaymentMethod and InvoiceDate
The query editor generates the queries both in SQL and in such as InvoiceDate is equal to ‘InvoiceDate’
natural language, so you can check they do what you AND ORDERS.Total is greater than or equal to Amount
AND HYSTORY.AdminAssistant is equal to ‘AdminAssistant’
meant them to do! This way there’s no risk of error.
OR PRODUCT.MinQty is equal to MinQuantity
The query is also generated in schematic form AND PaymentMethod contains ‘PaymentMethod’
(animated graphic). AND ORDERS.Observations contains ‘Observation’.
ROLAP CUBE:
PIVOT TABLE
Decision makers love it! The Pivot Table
control dynamically displays in n dimen-
sions data coming from the crosscheck of
different files found in a database.
For example: the volume of sales accor-
ding to product families, products, regions,
over time, with or without details. The end
user can expand information, hide it, ...
The pivot table performs the calculations:
everything is automatic, no programming
is needed to fill it.
H F S Q L • w w w. w i n d e v. c o m
16
GROUP BY HAVING HEX SI
IFNULL IN INDEX INITCAP
PROGRAMMING: SQL
INNER JOIN INSERT INSTR INTO
ISNULL LAST_DAY LAST_INSERT_ID LCASE
LEADING LEAST LEFT LEFT OUTER JOIN
H F S Q L • w w w. w i n d e v. c o m
17
RegistryFirstSubKey RegistryDeleteKey RegistryDeleteValue RegistryValueType view).
Replace RepeatString NetworkConnect NetworkDisconnect HAddGroup Adds a group of users.
NetworkDomainName NetworkDirName NetworkUser HAddLink Adds an integrity rule between two files on the server.
RGB HAddScheduledOptimization Adds an optimization task of HFSQL Client/Server data files.
RGBBlue RGBRed RGBToHTML RGBGreen HAddScheduledBackup Adds a scheduling for full backup (with or without differential
NoAccent NoCharacter NoRightCharacter NoLeftCharacter backup) on the server defined by the connection.
NoSpace sComputeCrc16 sComputeCrc32 WeekToDate HAddTask Adds a scheduled task on the server defined by the connec-
SexagesimalToDecimal Sin SysColor SysColorRes tion.
SysEnvironment SysSpace SysInstance SysNameExe HAddUser Adds a user to a database.
SysDir SysWindowsVersion SysXRes SysYRes HAlias Creates a logical alias of a data file (or query) or cancels all the
Length CommonLength LengthToString Tangent existing aliases.
TextToRTF Truncate HSL UnicodeToAnsi HCancelAlias Cancels an alias that was previously declared by HAlias.
URLDecode URLEncode URLExtractPath UTF8ToAnsi HCancelDeclaration Deletes a declaration performed by HDeclare, HDeclareExter-
UTF8ToString UTF8ToUnicode UUDecode UUEncode nal or HDescribeFile
Val MatchRegularExpression WindowsVersion HCancelSeek Cancels the current search criterion.
HCancelBackup Cancels a current backup.
HStopServer Stops a HFSQL server.
LIST OF WLANGUAGE COMMANDS HLinkMemo Used to associate a file with a binary memo item or to cancel
the existing link between a file and a binary item.
The WLanguage commands let you program cursors, or pro- HForward Moves several records forward from the current position in the
gram all the processes you want. data file, according to a specified item.
HLockFile Locks a data file and restricts the access to this data file for all
The 5GL WLanguage programming is very powerful and very the other sites or applications.
intuitive. HLockRecNum Locks a record and restricts the access to this record for all the
other applications.
For example, searching for a row (a record), and all the asso- HChangeKey Changes the search key.
ciated processes (opening the table, assigning data, etc.) is HChangeConnection Dynamically changes the connection associated with a data
file.
done in one simple, powerful line of code: HChangeLocation Modifies the search mode of data files.
HReadSeek(CUSTOMER,NAME,”DOE”) HChangePassword Changes the password of a HFSQL Client/Server data file.
HChangeName Modifies the physical name of a data file.
The source programs are clear, easy to write and especially HChangeDir Modifies the access path to a data file (which means the direc-
easy to maintain; this reduces the chance for errors, and tory in which the file will be handled).
HChangeLogDir Modifies the location of the log files corresponding to a HFSQL
makes the applications you develop more reliable, and faster. data file.
HLoadParameter Reads a parameter that was saved from a stored procedure by
HSaveParameter.
Plain commands makes it easier to use: the code is self-com- HClusterAddNode Enables a node in a HFSQL cluster.
mented! HClusterStop Suspends the execution of a HFSQL cluster.
HClusterStart Starts a HFSQL cluster.
The HReadSeek command can be understood by any develo- HClusterState Returns the status of a HFSQL cluster by interrogating its coordina-
per, even rookies! tor
HClusterIgnoreSynchro Defines a node of the HFSQL cluster as data source to perform
the cluster synchronization.
HClusterNodeInfo Returns the status of each cluster node by interrogating the
Other example, the creation of a table is done in 1 line of code, coordinator.
without any script: hCreate. HClusterParameter Reads and modifies the parameters of a HFSQL cluster.
HClusterDeleteNode Disables a node in a HFSQL cluster.
HConnect Redefines one or more parameters of a connection to a specific
Non-exhaustive list of WLanguage functions (5GL used table or to a set of tables.
HConnectRemoteAccess Opens an analysis in HFSQL Classic format via a remote access
by WINDEV, WEBDEV and WINDEV Mobile), with sum-
HBuildKeyValue Builds the value of a composite key to create a filter or to per-
mary of their action. form a search.
HBuildKeyValueANSI On a Unicode platform, used to build the value of a composite
key.
ScreenToFile Automatically initializes: - the memory value of the items of a HConvert Converts a numeric value into a binary string in order to per-
data file with the value of the controls found in the window or form a search on a numeric key.
in the page. - the value of the WLanguage variables with the
value of the controls found in the window or in the page. HCopyRecord Copies the content of the current record (loaded in memory)
into the current record of a data file.
ScreenToSource Automatically initializes: - the memory value of the items of a
data file with the value of the controls found in the window or HCopyFile Copies a HFSQL file.
in the page. - the value of the WLanguage variables with the HCreation Creates an empty data file with the index file and the memo file
value of the controls found in the window or in the page. if necessary.
FileToScreen Automatically initializes the controls found in a window or in a HCreationIfNotFound Creates an empty data file (if the file does not exist) or opens a
page with: - the values of the associated items in the current data file (if the file exists).
record (loaded in memory) of the data file. * the values of the HCreateServerTrigger Adds or modifies a server trigger on the HFSQL server.
associated WLanguage variables. HCreateView Creates a HFSQL view.
SourceToScreen Automatically initializes the controls found in a window or in a HRecordDate Returns the date and time of the last write operation perfor-
page with: - the values of the associated items in the current med on a record found in a HFSQL file.
record (loaded in memory) of the data file. * the values of the HDBCreation Ends the description of the structure of the xBase data file by
associated WLanguage variables. programming.
WithSpace Adds or deletes the spaces found on the right of a text item HDBDescribeFile Describes by programming a file in dBase3 format.
when reading it. HDBDescribeIndex Describes by programming the different index files that will be
HAccelerateSpeed Reorganizes the internal structure of the indexes to optimize created.
the speed for accessing the data. HDBDescribeField Describes by programming each item of the structure of an
HActivateFilter Enables the filter that was previously created for the specified xBase file.
data file (view or query). HDBIndex Opens an xBase index file.
HActivateAutoFilter Enables an automatic filter on the linked files when browsing HDBOpen Opens the xBase data file and the "memo" file if it
an XML file. exists.
HActivateTrigger Re-enables a trigger that was disabled by HDeactivateTrigger. HDBOpenNoLock In single-user mode, opens an xBase data file without locking
HActivateServerTrigger Re-enables a server trigger that was previously disabled by it.
HDeactivateServerTrigger. HDBSortType Returns or modifies the sequence of text items in the xBase
HAdd Adds the record found in memory into the data file (query or files.
H F S Q L • w w w. w i n d e v. c o m
18
HUnlockFile Unlocks the records of a data file. HSetRemoteAccess Temporarily disables the remote access in order to access
HUnlockRecNum Unlocks a record. HFSQL Classic data files found locally.
HDeclare Declares a description of data file (found in an analysis) in the HSetCache Allows you to configure the management of caches in the
current project. HFSQL Client/Server engine.
HDeclareExternal Temporarily imports into the current analysis the description of HSetDuplicates Enables or disables the management of duplicates on a unique
a file from an existing HFSQL file. key
HDisconnectClient Displays a message on the client computers and disconnects HSetIntegrity Enables or disables the management of an integrity constraint
the application. on a file link.
HDescribeConnection Describes a new connection to an external database. HSetLog Enables or disables the management of the log for a logged
HDescribeFile Describes a data file by programming. file.
HDescribeFullTextIndex Describes a full-text index of a data file created by program- HSetMemo Used to modify the management mode of memo items.
ming. HSetREP Enables or disables the management of .REP file.
HDescribeLink Describes a link between two files by programming HSetServer Used to find out and modify some settings of the HFSQL
HDescribeItem Describes by programming an item found in a data file. Client/Server server.
HDescribeTrigger Adds or modifies a trigger on a HFSQL data file. HManageTask Enables or disables a scheduled task on a HFSQL Client/Server
server.
HDescribeServerTrigger Adds or modifies a server trigger.
HSetTransaction Enables or disables the management of transactions for one or
HStartServer Used to start a HFSQL server (uses MantaManager). more files.
HLast Positions on the last record of a data file according to a search HSetTrigger Enables or disables the management of triggers.
item.
HHistoryModification Returns the modifications made to one or more items of a
HDeactivateFilter Temporarily disables the filter on a data file (view or query). given record.
HDeactivateAutoFilter Disables an automatic filter on the linked files when browsing HImportHF55 Imports a Hyper File 5.5 file into a file in HFSQL Classic format.
an XML file.
HImportText Imports a Text file into a data file in HFSQL Classic format.
HDeactivateTrigger Disables a trigger.
HImportXML Imports an XML file into a file in HFSQL Classic format
HDeactivateServerTrigger Disables a HFSQL Client/Server server trigger on a server.
HInfoAnalysis Returns information about an analysis (WDD file).
HDeleteTrigger Destroys a trigger.
HInfoLock Returns information about the lock performed on a data file, on
HDeleteServerTrigger Destroys a server trigger. a record or on all the records found in a data file.
HDeleteView Destroys a view that was created beforehand. HInfoDatabaseRights Allows you to find out the rights granted to a user or to a group
HDuplicateRecord Duplicates the record read in a data file: the record found in on a database.
memory is added into the data file (query or view). HInfoFileRights Allows you to find out the rights granted to a user or to a group
HWrite ÉWrites a record into the data file without updating the corres- on a HFSQL Client/Server data file.
ponding indexes. HInfoServerRights Allows you to find out the rights granted to a user or to a group
HOut Allows you to find out whether the record on which we want to on a server.
be positioned is located outside the data file, filter, view or HInfoFile Returns the characteristics of a file found on a HFSQL server.
query.
HInfoGroup Returns information about the specified group of users.
HRecordToXML Retrieves the structure and the value of the current record and
exports them into a character string in XML format. HInfoLog Returns information about the server logs.
HSendMessageToClient Displays a message on the client computers. HInfoMemo Returns the characteristics of binary and text memos.
HError Returns the number of the last error triggered by the HFSQL en- HInfoDatabaseProperty Allows you to find out the properties of a database found on a
gine. HFSQL server.
HErrorLock Allows you to find out whether a lock error occurred. HInfoFileProperty Used to find out the properties of a data file found on a HFSQL
server.
HErrorDuplicates Allows you to find out whether a duplicate error occurred.
HInfoServerProperty Allows you to find out the properties of a HFSQL server.
HErrorStatusModification Returns the status of a record during a modification conflict
HInfoBackup Returns information about one or more backups performed on
HErrorInfo Returns a detailed information about the last error triggered by a HFSQL Client/Server server.
the HFSQL engine.
HInfoServer Returns the specified information about the server.
HErrorIntegrity Used to find out whether an integrity error occurred.
HInfoTask Returns the characteristics of a scheduled task.
HErrorModification During a modification conflict, returns the value of a record
item. HInfoUser Updates the variables for user management with the informa-
tion about the specified user.
HErrorPassword Allows you to find out whether a password error occurred on
this data file. HNoDatabaseAccess Forbids all the accesses to a database or to all the databases.
HState Used to find out the status of a record. HNoModif Prevents from modifying a file (for all the programs, including the
program that requested the restriction)
HServerStatus Used to find out the status of a HFSQL server.
HLogInfo Adds comments into the log when saving the logged operation.
HExecuteProcedure Runs a stored procedure.
HLogRecreate Used to re-create an empty log.
HExecuteQuery Declares a query created in the query editor to the HFSQL en-
gine and runs this query. HLogRestart Restarts the log process on a file.
HExecuteSQLQuery Initializes a query written in SQL language and declares this HLogStop Stops the log process of a file.
query to the HFSQL engine. HFree Transforms the crossed records of a data file into deleted re-
HExecuteScheduledBackup Forces the execution of a scheduled backup. cords.
HExecuteView Runs a view that was created beforehand. HFreePosition Deletes a position saved by HSavePosition
HExportXML Exports the records from a file (HFSQL or OLE DB), view or HFreeQuery Frees the resources of a query.
query into an XML file. HListAnalysis Lists the analyses in HFSQL Classic format available in a given
HExtractMemo Extracts the content of a blob (binary memo) item from a physi- directory.
cal file. HListDatabase Lists the Client/Server databases associated with a connec-
HClose Closes a data file or all the opened data files. tion.
HCloseAnalysis Closes the current analysis. HListKey Lists the keys of a file (a query or a view) recognized by the
HFSQL engine.
HCloseConnection Closes a connection to a database.
HListConnection Lists the connections currently described in the application.
HFileExist Allows you to find out whether a file exists, or whether a view
or a query has been defined. HListStoredElement Lists the elements stored on a HFSQL server (sets of proce-
dures, stored procedures or queries).
HFilter Defines and enables a filter on a data file, a view or a query.
HListFile Lists the files in the current analysis or in a specific analysis re-
HFilterStartsWith Defines and enables a ”Start With” filter on a file, view or cognized by the HFSQL engine.
query.
HListGroup Lists the user groups defined for a connection.
HFilterIncludedBetween Defines and enables an ”Included between” filter on a file,
view or query. HListFullTextIndex Lists the full-text indexes of a file (a query or a view) recogni-
zed by the HFSQL engine.
HFilterContains Defines and enables a ”Contains” filter on a data file, a view or
a query. HListLink Lists the links found in the current analysis or in a specific ana-
lysis.
HFilterIdentical Defines and enables a filter used to find the exact value of a
string item. HListScheduledOptimization Lists the scheduled optimization tasks of the HFSQL Client/Ser-
ver data files for a connection.
HEndNoDatabaseAccess Re-authorizes the access to one or more databases accessible
by a connection. HListParameter Lists the parameters saved from the procedures stored on the
server.
HEndNoModif Unlocks a file locked by the same program with HNoModif.
HListQueryParameter Lists the parameters of a query created in the query editor
HFlush Forces the operating system of the computer where the data
files are found to write the data onto the disk. HListCustomFolder Lists the custom-folders defined in the analysis.
HMergeView Creates a HFSQL view from two views created beforehand HListProvider Lists the OLE DB providers and/or Native Access installed on
H F S Q L • w w w. w i n d e v. c o m
19
the computer. HSetPosition Positions on a record from the approximate position of one of
HListREP Lists the assignments for the data files used by the current ap- its items.
plication. HPost Stores a unique computer number or identifier in order to use
HListItem List the items in a file (a query or a view) recognized by the the logs and the transactions.
HFSQL engine. HPrevious Positions on the previous record found in a file according to a
HListScheduledBackup Lists the full and differential backups that have been schedu- search item.
led on a HFSQL Client/Server server. HFirst Positions on the first record of a data file according to the spe-
HListServer Lists the HFSQL servers installed on a computer. cified search item.
HListTask Returns the list of scheduled tasks found on a HFSQL HPrepareQuery Initializes a query and declares this query to the database ser-
Client/Server server for a given connection. ver in order to optimize the next executions of this query.
HListTrigger Lists the triggers applied to one or more HFSQL data files. HPrepareSQLQuery Initializes a query written in SQL and declares this query to the
HListServerTrigger Lists the different triggers available on a connection or on one database server in order to optimize the next executions of this
of the connection files. query.
HListUser Lists the users defined for a connection. HPriority Allows you to find out and modify the priority of the calling ap-
plication.
HListConnectedUser Lists the users currently connected to one or more files hand-
led by a Client/Server connection. HPriorityClient Modifies the priority of a client application.
HRead Reads a record in a file according to a given record number. HClearWorkingDir Clears and destroys the temporary directory previously created
during the execution of HServerWorkingDir.
HReadLast Positions on the last file record according to a search item.
HConnectionQuality Returns the quality level of the connection: the higher the level
HReadPrevious Positions on the previous file record according to a search is, the faster the connection will be.
item.
HCross Crosses a record in a data file.
HReadFirst Positions on the first record of a file according to a search item.
HReset Initializes one or more variables of the items found in a data
HReadSeek Positions on the first file record whose value for a specific item file with their default values.
greater than or equal to a sought value (generic search).
HResetClient Initializes the structure for managing the client computers (HClient
HReadSeekLast Positions on the last file record whose value for a specific item structure)
is less than or equal to a sought value (exact-match search).
HResetGroup Initializes the structure for group management with the default
HReadSeekFirst Positions on the first file record whose value for a specific item values.
is strictly equal to a sought value (exact-match search).
HResetUser Initializes the structure for user management with the default
HReadNext Positions on the next record of a data file according to a search values.
item.
HSeek Points to the first file record whose value for a specific item is
HMigrateLinkedCompositeKey Migrates the values of the linked composite keys coming from greater than or equal to a sought value (generic search by de-
a file in Hyper File 5.5 format to the HFSQL Classic format. fault).
HRefreshSet Creates or refreshes a set of procedures on a server HSeekLast Positions on the last file record whose value for a specific item
HRefreshQuery Creates or refreshes a query on a HFSQL server. is less than or equal to a sought value.
HMode Changes the lock mode for the data files. HSeekFirst Positions on the first file record whose value for a specific item
HModify Modifies the specified record or the record found in memory in is greater than or equal to a sought value.
the data file (the query or the view). HReconnect Establishes a reconnection to the server for all the interrupted
HModifyDatabaseRights Modifies the rights granted to a user or to a group for a HFSQL connections.
Client/Server database. HBackward Moves backward several records from the current position in the
HModifyFileRights Modifies the rights granted to a user or to a group on a HFSQL data file, according to a specified item.
Client/Server data file. HRetrieveRecord Returns the content of the current record (in a file, a view or a
HModifyServerRights Modifies the rights granted to a user or to a group on a HFSQL query, ...).
server. HRetrieveLog Creates a text file containing the server logs between two given
HModifyGroup Modifies the group information according to the elements found in dates.
the corresponding variables for group management. HRetrieveItem Returns the content of an item found in the current record (in
HModifyScheduledOptimization Modifies a scheduled optimization task on the HFSQL server the data file, view, query, ...).
defined by the connection. HRegenerateFile Regenerates a data file from its log.
HModifyDatabaseProperty Modifies the properties of a database found on a HFSQL ser- HIndexingInProgress Indicates that a data file is currently re-indexed and returns the
ver. percentage of the file already re-indexed.
HModifyFileProperty Modifies the properties of a HFSQL file found on a server. HIndex Rebuilds the index of a data file
HModifyServerProperty Modifies the properties of a HFSQL server. HServerWorkingDir Returns the path of a temporary directory on the server.
HModifyScheduledBackup Modifies a backup scheduling. HRestoreBackup Restores a backup performed by the HBackup function or via
HModifyStructure Updates the structure of a HFSQL data file by performing a the HFSQL Control Center
data synchronization. HRestorePosition Restores the context of a previously saved data file.
HModifyTask Modifies a scheduled task on the HFSQL server defined by the HRSAddConfig Adds a replication between two HFSQL server onto the master
connection. server.
HModifyUser Modifies the user information according to the elements found HRSExecute Immediately runs a recurring replication between HFSQL servers:
in the corresponding variables for user management. the replication is triggered before the scheduling
HNbRec Returns the number of records in a file, a query or a HFSQL HRSInfo Allows you to read the configuration of the replication for a
view: active records, crossed records, deleted records, etc. HFSQL server taking part in one or more replications.
HNotifAddCCRecipient Add recipients for the notifications sent via the Control Cen- HRSInit Configures a HFSQL server in order for this server to be a mas-
ters. ter server or a subscriber server for a replication between
HNotifAddEmailRecipient Adds recipients for the notifications sent by email. HFSQL servers.
HNotifConfigure Specifies and configures the server used to send notifications HRSListConfig Lists the replications available on a master HFSQL server.
by the HFSQL server. HRSModifyConfig Modifies some parameters of an existing replication between
HNotifListCCRecipient Returns the list of recipients for a notification sent via the two HFSQL servers.
Control Centers. HRSDeleteConfig Deletes a replication between two HFSQL servers.
HNotifListEmailRecipient Returns the list of recipients for a notification by email. HBackup Saves the content of a HFSQL server.
HNotifDeleteCCRecipient Deletes the recipients of a notification sent via the Control Cen- HSaveParameter Saves a persistent value from a stored procedure.
ters. HSavePosition Stores the current context of a data file.
HNotifDeleteEmailRecipient Deletes the recipients of a notification by email. HSecurity Enables or disables the security mechanism..
HRecNum Returns the number of the current record in the HFSQL data file HSimulateNetwork Simulates the operating mode of HFSQL Client/Server on an
or in the HFSQL view. ADSL or 3G network.
HOptimize Uses idle periods (period without processing) to optimize the HStatCalculate Performs statistical calculations on the keys of a file.
queries and the read operations that will be run thereafter.
HStatDate Returns the date of the last update for the index statistics
HOptimizeQuery Optimizes the selection queries by using idle times (period wi-
thout processing) HStatTime Returns the time of the last update for the index statistics
HOpen Opens a data file. HStatNbDuplicates Returns the number of duplicates for a given key item.
HOpenAnalysis Opens an analysis in HFSQL Classic format. HStatNbRec Returns the number of entries for a given key item.
HOpenConnection Establishes a connection to a specific database. HStatNbRecRange Returns an estimate regarding the number of entries for a
given key item in a given interval of values.
HPass Defines the password used to create or open a data file.
HSubstDir Associates the data directory specified in the analysis with a
HGetCurrentPosition Returns the approximate position of the current record in the directory found on disk.
data file.
HNext Positions on the next record of a data file according to a search
H F S Q L • w w w. w i n d e v. c o m
20
item.
HDelete Deletes a record from a data file (a query or a view).
HDeleteDatabase
HDeleteSet
Deletes a database found on a HFSQL server.
Deletes a set of stored procedures from a HFSQL server. VOCABULARY
HDeleteFile Deletes the HFSQL data files (.fic, .ndx, .ftx and .mmo files if
they exist) from the server.
HDeleteGroup Deletes (from the server) a group of users associated with a The vocabulary varies based on the interlocutors.
connection. The same concept is often described using different words.
HDeleteLink Delete an integrity rule between two data files on the server.
HDeleteScheduledOptimization Deletes a scheduled optimization task of HFSQL Client/Server Each person has his own standard, habits!
data files. Here’s a small glossary of terms used around databases.
HDeleteParameter Deletes a parameter that was previously saved by HSavePara-
meter. PC SOFT vocabulary Other publishers
HDeleteDirectory Deletes a directory found in a HFSQL Client/Server database.
HDeleteQuery Deletes a query (used by stored procedures) from a HFSQL ser- Analysis (CDM, LDM) Schema, relational model, entity/rela-
ver.
tionship model
HDeleteBackup Deletes a backup that was performed by HBackup.
HDeleteScheduledBackup Deletes a scheduling for backup from a HFSQL Client/Server Analysis chart Data schema
server. File Table
HDeleteTask Deletes a scheduled task from a HFSQL Client/Server server.
HDeleteAll Deletes all the records from a data file, from a HFSQL view or Item Column, Field (the control is the inter-
from a query. section of a column and a row)
HDeleteUser Deletes (from the server) a user associated with a connection Record Line, tuple, row
HOnServerCall Customizes the management of message display on the client
computer and the management of disconnection from a client Link Relationship
computer. Lock Lock
HOnError Customizes the management of HFSQL errors.
Key Index
HTransactionCancel If a transaction is in progress, cancels all the operations perfor-
med on the data files in transaction since the beginning of Unique key Primary key
transaction. Key with duplicates Foreign key or key without uniqueness
HTransactionStart Starts a transaction on the HFSQL files and creates the transac-
tion file. constraint
HTransactionEnd Validates the current transaction. Link Item Foreign key
HTransactionInterrupted Allows you to find out whether a transaction was interrupted Window Form
(the transaction was neither validated nor canceled).
HTransactionIsolation Configures the transaction isolation level for a connection to a Control Check
given HFSQL server. Report Report
HTransactionFree Transforms all the records ”in transaction” into ”normal” re-
cords if these records do not belong to a transaction currently Viewing table Datagrid, Browse
in progress. Scheduled task Scheduler
HTransactionList Returns the list of current or interrupted transactions found on
the server for the specified connection. Text memo Lob or clob
HSortView Sorts a view by creating an index on a view item. Binary memo Lob or blob
HFound Checks whether the current record corresponds to the current Stored procedure UDF (User Defined Function)
filter or to the current search.
HCheckIndex Checks whether the data found in the index file (.NDX file) pro-
perly refers the data found in the data file (.FIC file).
HCheckStructure Defines the mode for comparing the data files.
A database is a set of tables (files) linked via relationships
HToFile Copies a data source (file, query, view, ...) to a physical HFSQL (links).
file with the same description. This file is neither encrypted nor
password protected.
HVersion Allows you to find out whether the file’s content was modified. A table (data files) is a set of data organized in columns
HToItem Assigns the specified value to an item of the current record.
HViewToFile Saves the modifications made to a view in the corresponding
(items), made of rows (records) The intersection of a row and a
file. column is a field (item value).
H F S Q L • w w w. w i n d e v. c o m
21
WHICH COMPANIES LIST OF HFSQL
USE HFSQL? BENEFITS
Several million copies of HFSQL are deployed in over 100 Here’s a summary of the benefits linked to
countries. adopting HFSQL:
HFSQL is deployed on the most demanding web sites (Web, • Feature rich
telecoms, enterprises, banks, hospitals, research, software pu- • Free (complete, unlimited version with all the tools)
blishers, administrators, government, etc.) that require high • Data schema description tool
availability (24/7) with top performance in real time. • Easy to install
• Easy to embed
• Easy administration (auto-administered, auto-optimized)
TESTIMONIALS • Powerful administration tools
Here are some testimonial: • Tight integration with PC SOFT’s best sellers: WINDEV,
”HFSQL: light speed!” WEBDEV, WINDEV Mobile
• All-in-one solution with WINDEV and WEBDEV: RAD orien-
”HFSQL completely delivers in terms of robustness ted, it generates the tables, processes, windows and re-
and flexibility” ports
”HFSQL allows us to save several hundred millions of euros • Encryption of the data, tables and indexes
thanks to the fact that we don’t need individual licenses for • Encryption at the column, backup, network traffic level
the database. • Compatibility: Windows (10, 8, 7, Vista, XP, Mobile, CE...),
”This represents close to a billion operations hosted Linux, Mac, iOS (iPhone, iPad), Android...
and processed by HFSQL corresponding to about 24 • Binary compatibility of the databases and indexes: local,
billions euros in debit operations” network, mobile, embedded, client/server, cluster
• Stored procedures
”All the applications rely on the HFSQL database to ensure • Hot and incremental backups
complete data security” • Protection against SQL code injection
”The data is stored on our dedicated server with an • Unicode
HFSQL database that supports our entire Informa- • Efficient language and character set management as well
tion Services” as sort order, granularity at the column level
”In term of performance, HFSQL delivers. It’s always instan- • Easy replication
taneous” • Automatic reconnection
• Easy monitoring
”We’re managing more than one TB of data (with • High availability cluster
HFSQL) and we’re thrilled with the database perfor- • Performances
mance”. • Sustainability
• Audit, tuning functions
You’ll also find technical video and testimonial videos on the • Optimizing the queries
www.windev.com site. • Full Text indexing support
• Blob, Lob
• Integrity constraints
• Automatic schema (DDS) maintenance , on an unlimited
number of deployed databases
• Robustness for large volumes of data
• Low resource requirements
• Secure access
• Automatic load distribution among clients
• Ease of deployment and use
• Free technical support*
HFSQL® is included for free with the The deployment is free and unlimited. WINDEV, WEBDEV and WINDEV Mobile are paper supplier or the printer when it is FSC - planted immediately.
WINDEV, WEBDEV and WINDEV Mobile IDE. Please refer to the term of the user license professional software. Forest Stewardship Council - certified and Also, we favor pulp coming mainly from re-
HFSQL is optimized to run with these IDE. agreement for any additional information. Despite the care taken in creating this docu- PEFC - Program for the Endorsement of Fo- cycled wood (from furniture mills for ins-
HFSQL is the new name of HyperFileSQL. The ODBC driver and the OLE DB provider ment, it is not contractual. The screen shots rest Certification - certified, replants as many tance) and from controlled forest clearing.
The use and distribution of the HFSQL data- are freely distributable with your applications and the lists are given for information pur- trees as used for the printing.
base is free with applications and sites crea- created with WINDEV, WEBDEV or WINDEV poses only. The FSC label was created by the FSC NGO,
ted using these IDE, regardless of the Mobile. Don’t hesitate to contact us if you need any which includes among others Greenpeace,
quantity deployed and the type of applica- The tools mentioned in this documentation additional information or to get confirma- Friends of the Earth and the WWF.
tions (educational applications, personal ap- come with the product. tion of a feature. For example printing 100, 000 copies of a
plications and commercial applications). All trademarks are properties of their res- Environmental policies: when PC SOFT 68-page documentation on glossy paper
There’s no royalty to pay, no reporting to do. pective owners prints ”paper” documents, PC SOFT, the consumes 10 trees: PC SOFT has 10 trees re-
H F S Q L • w w w. w i n d e v. c o m
22
HFSQL is the best ally for your
data!
You too, like millions of users
across the world, take advantage
of the performance and security
of HFSQL.
WINDEV • WEBDEV • WINDEV Mobile
Since 1988
RDBMS
Windows, Linux, Mac, Android, iOS (iPhone, iPad)
Client/Server, Cluster, Cloud, Standalone, Mobile, Embedded
www.windev.com