Escolar Documentos
Profissional Documentos
Cultura Documentos
RDBMS
Windows, Linux, Mac
Client/Server, Stand-alone computer, Mobile, Embedded
www.windev.com
n enterprise's data is a vital resource. The Relational Database Management System lets you manage your data with complete security. Performances are astonishing. Used on over several millions of computers the world over, the flexibility and the adaptability of allow it to respond to the most demanding requirements of real-time mission critical applications. You too, choose !
HyperFileSQL has been distributed since 1988.
Table of Contents
Overview Local Mobile - embedded Client/Server Data types and index SQL Features Security Openness WINDEV and WEBDEV Tools Programming
List of supported SQL commands List of WLanguage commands
3 4 4 4 5 6 6 10 11 11 13 17
17 18
21 22 22 24
HyperFileSQL 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 products (free) full documentation.
HYPERFILESQL OVERVIEW
General points
HyperFileSQL is a powerful RDBMS (Relational Database Management 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 applications, real-time mission-critical applications, software, application servers, Web servers, stand-alone PC or mobile devices.
you into a proprietary solution. Flexibility: support for large volumes of data (several dozen billions of rows in a table) is insured. Platform independence the tables can be moved from a Client/Server platform to a mobile platform, from a Windows server to a Linux server, and so on. Extensibility: you can easily and without constraints go from one user to several hundred users, from a 2-tier architecture to a multi-tier architecture... Frugal in resources: the client/server engine takes up less than 20 MB 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 over 25 years. Performance, scalability: thanks to an optimized index management and a fine-tuned cache management, speed is consistent. Access security: protection against SQL injection attacks is insured through the automatic creation of secure UIs.
POWERFUL DATABASE
SERVER MOBILE INDOWS 7 VISTA (32 BITS, 64 BITS) XP 2000, 2003, 2008 NT
HyperFileSQL comes as a complete, fully-featured product, and is free. Maintenance costs are minimal. The technical support is also free of charges (as part of a WINDEV, WEBDEV or a WINDEV Mobile license). It is provided by phone and e-mail. DBAs and developers also have access to very active professional news groups (moderated). Service pack type updates are regularly made available for free.
LOCAL
ACCESS
LOCAL WI-FI
NETWORK
LINUX
REDHAT DEBIAN OPENSUZE UBUNTU ...
H y p e r F i l e S Q L w w w. w i n d e v. c o m
VERSIONS
Local version (classic version)
The local version (stand-alone and network) of HyperFileSQL (also called "Classic" version, because it is the original version that was available back in 1988) offers high performance, ease of deployment, 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, and small 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 automatic. A Classic database can also be found on a USB key and used directly from the key. HyperFileSQL Classic can be installed on machines equipped with Windows (98, NT, 2000, 2003, Vista, 7,), MacOS and Linux servers.
It is fully compatible with the local and Client/Server versions (tables, index, relationships, constraints). Depending on your needs, data access in a mobile application can be done from a large number of technologies: ActiveSync, direct access, RPC access, Web services, sockets, direct stored procedures, etc...
Imagine, 128 Giga bytes on a memory card. Only a few years ago this was the capacity of the hard drive on a desktop PC! Now you can easily and at little cost embed large size (up to 130 million rows) secure databases onto your pockets, mobiles and phones.
Client/Server version
The Client/Server version of HyperFileSQL is the ideal version for managing a large number of users and remote accesses. Local and remote accesses are supported. The installation is child's play, and the administration, although very powerful, is easily performed.
HyperFileSQL is not limited in the number of processors used, or in 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 (tables, index, relationships, constraints). HyperFileSQL works both in 32-bit and 64-bit mode. Servers and clients can be mixed. Some of the supported Windows servers: Windows Server 2008 Windows Server 2003 Windows 2000 Windows XP & Vista, Windows 7 in 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
HyperFileSQL is totally adapted to the ever expanding realm of mobile devices of any type. HyperFileSQL only requires small resources, and can be installed on any mobile device (terminal, pocket PC, smartphone, Windows phone) that runs Windows CE or Windows Mobile. The installation is child's play and the seldom needed maintenance is automated. Performances will surprise you.
H y p e r F i l e S Q L w w w. w i n d e v. c o m
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 expression) searches inside your data. For instance, you can find a word among 1 million rows in less than 2 ms (average per occurrence found). It is possible to index texts found in a HyperFileSQL database without any programming. Results are offered according to a relevance order (ranking). The index can support rich text (RTF, HTML), ignoring their tags during the indexing process. This feature enables you to perform searches on words stored inside RTF or HTML documents.
Unicode
HyperFileSQL supports Unicode text columns and Unicode blob columns. Indexes can be sorted by the alphabetical order corresponding to each language (Russian from Russia or Ukraine, Chinese from Singapore, Taiwan, Hong Kong, Macao,...).
Data in Chinese
A reminder about operating systems: Windows runs in Unicode mode on mobile environments, while Windows for PC runs in ANSI mode. When needed, WLanguage automatically converts Unicode strings into ANSI (and conversely) based on the current character set.
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 a search can be performed on several columns at the same time.
Capacity
HyperFileSQL Client/Server offers high storage capacity, in line with current and future storage means, as well as with the increasing demands from enterprises. During a recent road show in front of about 10,000 professional developers, PC SOFT presented a HyperFileSQL database containing more than 15 billion (15,000 million) rows: data searches were instant once the server was started (without even filling the cache!).
H y p e r F i l e S Q L w w w. w i n d e v. c o m
Columns per table Index per table Rows per table Table size Row size Column size Size of a blob column (text memo, image, video, binary, etc.)
FEATURES
HyperFileSQL offers a large number of features. You will find below a description of its main features.
SQL : OVERVIEW
HyperFileSQL supports a large portion of the Ansi SQL 92 standard. The SQL supported by HyperFileSQL also includes a large number of additional SQL Server and Oracle specific syntax, among other things. 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 WLanguage by directly using WLanguage functions and stored procedures (also developed in WLanguage). The speed of the SQL engine is optimized by using, among other things, the index statistics and the constraints to choose the best access index for queries. The advanced memory cache management also improves performances. The engine automatically manages the load balancing: if a client executes a lot of resource hungry queries , the server automatically balances the load in order to not penalize the other clients. Youll find the list of SQL functions supported by HyperFileSQL at the end of this document, as well as the other programming aspects (cursor programming).
Triggers
A trigger is used to start a stored procedure before or after a given event on a database table: for example, before deleting a row, or after modifying a row. A trigger provides tremendous security. The trigger will be executed regardless of the application or component that accesses the database and performs the defined operation, without the programmer having to do anything. Server triggers, as their name implies, are executed directly on the server. The right to create a trigger is defined along with the database's rights. The WINDEV environment alerts the developer to the presence of these triggers (the triggers are shown in the data model).
H y p e r F i l e S Q L w w w. w i n d e v. c o m
frame compression
Logs
A log is a special table where all the operations performed on one or 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 performed on a specific row keep the history of a table use (to compute statistics for example) These operations can be run using a command line or the WDLog tool.
A frame is a data packet that travels over the network. HyperFileSQL, like all DBMS, uses frames to communicate between the client and the server machine. A server's data transfer speed depends both on the frame travel speed over the network and the size of these frames. In a local area network, the speed is so fast that the size of the frame only has a relative importance. On the other hand, for a remote access (DSL, 3G, ), the size of the frame is more important. In this context, reducing the size of the frames increases performance noticeably. Frame compression enables you to reduce the size of the packets (up to 95%) traveling on the network, by automatically applying a data compression algorithm In a remote connection context, especially if the connection speed is slow, there's a big advantage to compressing frames. The speed for remote connection is improved. Since the volume of data transiting through the transmission media is reduced, this can be a benefit for contracts that bill based on volume of data.
H y p e r F i l e S Q L w w w. w i n d e v. c o m
Automatic reconnection
This feature automatically takes care of dropped connections between 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, the link between a remote device and the server can be dropped briefly. This can also happen on regular wired networks. When the application is reconnected, we need to resume the application at the point where the connection was interrupted, and make sure the buffers are accurate. With the automatic resume, all the buffers and positions are stored and reassigned. The application can resume without any error, as if the connection never was interrupted.You can also manage the connection interruptions by programming, or execute additional processes if you want.
The execution of a stored procedure before and/or after the backup 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 applications.
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 selection of tables, with or without index. HyperFileSQL supports hot, differential backups. A backup is portable, from Windows to Linux for instance, or from a Client/Server version to a Classic version. A backup can be triggered from the Control Center (instant backup, scheduled backup), or by coding, directly from the application. The schedule for a complete backup and a differential backup can be specified (example: 1 full backup every month and 1 differential backup every week).
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).
H y p e r F i l e S Q L w w w. w i n d e v. c o m
Universal replication
The universal replication works regardless of the database used. You can, for example, replicate HyperFileSQL data among themselves or with Oracle data or with data coming from any other database. Replication can be one-direction or multi-direction, and can be performed using different media: computers connected to the network, USB key, Internet, GPRS, 3G, etc.
Any database: HyperFileSQL, Oracle, SAP, AS/400, MySQL, mobile... Any media: locally, via the network, via modem, via Internet, Wi-Fi, GPRS...
Offline replication
The "offline replication" mode allows a replication to manage itself in stand-alone mode. The replication is performed without being constantly connected to 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.
Thanks to the cluster feature, a set of physical servers appears as a single server to the clients. The potential failure of a physical server does not prevent access to 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 balancing 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 application won't be disconnected but automatically reconnected to a valid server (automatic fall over). Clustering is also very useful for SaaS infrastructures.
"Offline" replication
H y p e r F i l e S Q L w w w. w i n d e v. c o m
SDD (Synchronization of the data description) automatically performs: 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 tools to perform these tasks. Also note that SDD works regardless of the versions of the target database schemas. SDD works immediately on a n-3 version for instance. This SDD feature can be run : on the live database, without disconnecting users transparently, without interfering with the running of applications.
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)
SECURITY
The integration, the automatic lock management, the Control Center, and so on, insure by their very presence a high security of use. Security specific features are also available.
H y p e r F i l e S Q L w w w. p c s o f t . f r
10
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 commands 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.
OPENNESS
HyperFileSQL is open to all technologies and easily blends in any existing I.S.
ODBC driver
The provided ODBC driver allows third-party applications to access 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), allows third-party applications to access the data stored on a HyperFileSQL server, such as C#, ASP.Net, Crystal Reports, Business Objects, PHP, Excel, etc.
Database import
The WDCONVER tool (provided with the product) lets you import Oracle, 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.
Encrypted connections
The connection between the client and the server can be encrypted. To define a high level of security, you can forbid non encrypted connections 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.
H y p e r F i l e S Q L w w w. w i n d e v. c o m
11
Automated assistance
In a WINDEV application, end user assistance is automatic in the following 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 displays a relevant assistance window.
Multicontext
At any time you can handle several contexts and several connections for the same database.
Here, 2 users are trying to modify the same field at the same time! A window automatically comes up and asks for the correct value. No programming is required. 3 examples of windows created with WINDEV
H y p e r F i l e S Q L w w w. w i n d e v. c o m
12
`Sophisticated, ready-to-use and to be customized controls are available just by drag and drop: formatted edit controls tabs combo box images scroll bars animated graphical buttons On/Off buttons check box tables treeview lists HideShow ActiveX controls spin buttons sliders icon bar splitter status bars RTF progress bar chart carousel ... display controls (static) scrolling lists auto-fill combo box animated images graphical buttons (icons) text buttons timer buttons single column and multi column radio buttons graphical lists treeview table OLE controls click areas controls with fuzzy shadow HTML controls geometrical shapes view lists Web camera loopers toolbox bar codes calendar
THE TOOLS
Administration: HyperFileSQL Control Center
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, without having to disconnect the users, and without interfering with the use of their applications, which will keep on reading and writing 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 powerful visual editor provided. A large number of wizards are there to help you. The visual editing of the schema (creation, deletion, modification of the tables, columns, relationships, constraints, indexes, triggers, etc.) enables you to define a database schema without having to write any SQL code. The editor graphically represents the organization of the data and processes.
The HyperFileSQL Control Center is an indispensable administrative tool with an intuitive and user-friendly graphic interface. The HyperFileSQL Control Center can be used to perform a large number of tasks, either from a network computer or from the In-
H y p e r F i l e S Q L w w w. w i n d e v. c o m
13
A data schema
The editor knows how to import schemas from databases in HyperFileSQL, 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 upon request (hard copy, HTML, PDF, Word, OpenOffice).
The wizard then asks whether it should generate the potential relationship tables if needed, or if it should use existing tables. The wizard then requests the name of the relationships: the schema 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
WINDEV and WEBDEV support the 9 UML models. Notably, the class diagram can be generated automatically from the database schema. 3-tier programming is therefore extremely simplified through an automatic object-relational mapping: classes are automatically generated to implement the business logic specific to the application, as well as the update of the data from the objects to the tables, and conversely.
H y p e r F i l e S Q L w w w. w i n d e v. c o m
14
Query editor
The creation of queries is done using the SQL language or the WLanguage 5GL Queries can be entered directly or generated by the query editor (Reports & Queries) provided with WINDEV and WEBDEV, and can be freely distributed to the end users of the applications you've created. The query editor also lets you optimize the database's description (schema) by detecting and defining the indexes required for Display all OrderNumber, OrderNumberCustomer, OrderDate, the best runtime performance of 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 easily check that they corresAND ORDERS.Total is greater than or equal to Amount pond to the intended operation. Theres no risk of error. AND HISTORY.AdminAssistant is equal to AdminAssistant The query is also generated in diagram form (animaOR PRODUCT.MinQty is equal to MinQuantity AND PaymentMethod contains PaymentMethod ted graphic). AND ORDERS.Observations contains Observation . The steps for creating a query are simple: choose the columns to include, specify the selection conditions using the wizard, and the query is built using optimized SQL code.
A few clicks are enough to create a query, and to check it in natural language.
The editor also performs a reverse-analysis of existing queries. A query result can be a visualization window, a printed report, or a HyperFileSQL table. A query can use the result of another query as its source.
The "Reports & Queries" program is a report editor that you can distribute freely, at no cost and to all your end users, for any application built with WINDEV or WEBDEV. This report editor is natively interfaced with HyperFileSQL, and allows for very easy creation of sophisticated reports using the data stored in the HyperFileSQL databases. The PDF standard is supported, as well as page background, bar codes, labels, and everything you need!
From the report editor, export to Word, Excel, OpenOffice, send an e-mail, and so on, automatically A report created with Reports & Queries
H y p e r F i l e S Q L w w w. w i n d e v. c o m
15
Monitoring engine
Supported bar code formats are: UPCA, UPCE, EAN13, EAN8, EAN128, CODE128, CODE39, CODE93, CODE11, CODE128, Intervaled 2 of 5, CODABAR, CB_MSI, Datamatrix, PDF417,...
The WINDEV, WEBDEV and WINDEV Mobile RAD also generates the windows and pages, as well as the controls, and configures the edit controls based on the information found in the data schema: required control, maximum size, types of accepted data, bound verification, etc.
The monitoring engine (freely distributable with your applications) lets you secure your servers. The engine constantly monitors and immediately detects the suspicious connections to your server. The server warns, by (your choice): sending a configurable e-mail message to the specified addresses (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'll find: the frequency: run the test every X, from 2 minutes 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 message's medium (SMS, email, ...).
H y p e r F i l e S Q L w w w. w i n d e v. c o m
16
including the HyperFileSQL databases. SIS enables you to analyze the changes in database accesses over time, to find out which applications and which computers access a database. Precise statistics are available at any time.
ABS ACOS ADD_MONTH AND ANY AS ASCII ASIN ATAN BETWEEN BIN BOTTOM CBRT CEIL CEILING CHARACTER_LENGTH COALESCE CONCAT COUNT CREATE TABLE DEGREES DESC DISTINCT DIV EXISTS EXP FLOOR FULL OUTER JOIN GROUP BY HAVING HEX IN INNER JOIN INSERT INTO IS NULL LAST_DAY LEFT LEFT OUTER JOIN LEN LIKE LIMIT LN LOG10 LOWER LPAD MATCH ... AGAINST MAX MID MOD MONTHS_BETWEEN NEW_TIME NOT NVL OCT ON OR ORDER BY PI POSITION POWER RANDOM REPLACE RIGHT RPAD RTRIM SELECT SIGN SIN SOME SOUND LIKE SQRT SUBSTR SUM SYSDATE TAB TRANSLATE TRIM TRUNC UNION UPDATE UPPER VALUES WHEN ... THEN ... ELSE
ALL ASC AVG CASE CHAR_LENGTH COS DELETE DROP TABLE FROM IFNULL INSTR LAST_INSERT_ID LENGTH LOG LTRIM MIN NEXT_DAY OCTET_LENGTH PATINDEX RADIANS ROUND SET SOUNDEX SUBSTRING TOP UNICODE UUID WHERE
The "Select" type SQL queries accept a large number of WLanguage functions as parameters, which allows you to easily refine a selection. The accepted WLanguage functions are:
Abs Age ArcCos ArcSin Asc Charact StringFormat StringCount StringToUTF8 Complete MakeInteger Conversion ColorLightness ColorSaturation DateDifference Today DateTimeLocalToUTC DateSys DateValid DateToDay DateToDayInAlpha DateVersWeekNumber Uncompress Uncrypt DurationToString EmailCheckAddress IntegerToDay IntegerToDayInAlpha IntegerToWeekNumber IsNumeric IsEven Exp ExtractString fLoadText fShortPath fCompare fCopyFile fDate fDateTime fMoveFile fDriveInfo WinOutVPos WinInHPos fExtractPath fFileExist fLongName fDirAttribute fDirAttrib fDirectoryExist fRemoveDir fDirSize fDelete fSize fDiskType Left hDuplicates TimeDifference TimeValid TimeToString HListField HRetrieveField HUnlockRecord iGetIdentifier INIRead InitRandom Ln Log Max Middle NetMACAddress NetIPToMAC NumToString BinaryOR BinaryXOR AnsiVersOem AnsiVersUnicode ArcTan Round StringCompare StringBuild StringToDate StringToDuration CompleteRep Compress Cos CoTan ColorHue Crypt DateIsValid DateTimeDifference DateTimeUTCToLocal DateToString DateToInteger DateToMonthInAlpha DDECR UncompleteDir GetGUID Right IntegerToDate IntegerToTime IntegerToMonthInAlpha DOSEnvironment IsOdd BinaryAND ExeInfo fAttributeReadOnly fLongPath fCompress fCreateLink fCrypt fUncompress fUncrypt WinInInput WinOutHPos WinInVPos fDiskSpace fTime fShortName fCopyDir fMakeDir fTempPath fParentDir fSaveText fSeparator fSizeUncompressed fDiskSize Random HDescribeField TimeIsValid TimeSys TimeToInteger HInfoField HTMLToText HToField ExeInfo INIWrite Reverse ExeRun Now Upper Min Lower NetMACToIP BinaryNOT WeekNumber OemToAnsi BinaryXOR Easter
H y p e r F i l e S Q L w w w. w i n d e v. c o m
17
DecimalPart IntegerPart HiWord Position Root RegistrySearch RegistrySetValue RegistryExist RegistryFirstSubKey RegistryDeleteValue RepeatString NetworkConnect NetworkDirName NetworkUser RGBRed RGBGreen sComputeCrc16 sComputeCrc32 MouseXPos SysColor SysSpace SysInstance SysWindowsVersion SysXRes CommonLength LengthToString HSL UnicodeToAnsi UTF8ToString UUDecode MatchRegularExpression
Phonetic LoWord PositionOccurrence Power RegistryNextKey RegistryCreateKey RegistryListValue RegistryQueryValue RegistryFirstSubKey RegistryValueType Replace NetworkDisconnect NerworkDomainName RGB RGBBlue NoAccent NoSpace Sin MouseXPos SysColorRes SysEnvironment SysNameExe SysDir SysYRes Length Tangent EndApp URLDecode URLEncode UUEncode Val ToString WindowsVersion
when reading it.. HActivateFilter HActivateAutoFilter HActivateTrigger HActiveServerTrigger HAdd HAddGroup HAddLink HAddTask HAddUser HAlias HCancelAlias HCancelDeclaration Activates the filter previously created for the specified table. Activates an automatic filter on linked tables when browsing through an XML file. Re-activates a trigger previously disabled using the HDeactivateTrigger function. Re-activates a server trigger that was previously disabled. Adds the row found in memory to the table. Adds a group of users. Adds an integrity rule between two tables on the server. Adds a scheduled task to the server defined by the connection. Adds a user to a database. Creates a logical alias for a table or cancels all the existing aliases. Cancels an alias that was previously declared using the HAlias function. Deletes a declaration previously performed with HDeclare, HDeclareExternal, or HDescribeFile. Cancels the current search criteria. Cancels a backup in progress. Stops a server. Associates a file with a binary memo (blob) type column. Moves forward several rows from the current position, based on a specified column. Locks a table and restricts access to the table for all other applications. Locks a row and restricts access to the row for all other applications. Changes the search key (column). Changes the connection to a database used for a table. Modifies the search mode of the tables. Modifies the physical name of a table. Modifies a table's path. Modifies the path to a log file. Modifies the location of the subscriber replica's description (RPL file). This function must be used on the subscriber computer. Reads a parameter previously stored in a stored procedure with the HSaveParameter function. Redefines one or more parameters of a connection to a specific table or a set of tables. Opens an analysis in HyperFileSQL Classic format via remote access. Builds the value of a composite key (index) to create a filter or perform a search. On a Unicode platform (Pocket PC for instance), enables you to build the value of a composite key (index) to save it in a HyperFileSQL table. Converts a numeric value into a binary string in order to perform a search using a numeric key (index). Copies the content of the current record (current row) into the current record of another file (the current row of another table). Copies a HyperFileSQL table (file). Creates an empty table using the described indexes. Creates an empty table (if the table doesn't exist) or opens a table (if the table already exists). Creates the description file of a subscriber replica (ReplicaAbonne.RPL file). Creates the description file of a master replica (Replicamaitre.RPL file). Creates a file that can be used to replicate data from the current database (to send by e-mail or CD for example). Creates a HyperFileSQL view. Returns the date and time of the last write operation on a row in a HyperFileSQL table. Unlocks a table (file) previously locked using the HLockFile function. Unlocks a row (a record). Declares a table description (found in another schema) in the
HCancelSeek HCancelBackup HStopServer HLinkMemo HForward HLockFile HLockRecNum HChangeKey HChangeConnection HChangeLocation HChangeName HChangeDir HChangeLogDir HChangeRplDir
HConvert HCopyRecord
ScreenToFile
Automatically initializes: - the memory value of a table's fields (file items) with the value of the window or page's controls. - the value of the WLanguage variables with the value of the window or page's controls.. Automatically initializes: -the memory value of a table's fields with the value of the window or page's controls. -the value of the WLanguage variables with the value of the window or page's controls. Automatically initializes the controls of a window or a page with: - the values of the controls associated with the table's current row) - the values of the associated WLanguage variables. Automatically initializes the controls of a window or a page with : - the values of the controls associated with the table's current row. -the values of the associated WLanguage variables. Adds or deletes the blank spaces to the right of a text control
HCopyFile HCreation HCreationIfNotFound HCreateSubscriberReplica HCreateMasterReplica HCreateMoveableReplica HCreateView HRecordDate HUnlockFile HUnlockRecNum HDeclare
ScreenToSource
FileToScreen
SourceToScreen
WithSpace
H y p e r F i l e S Q L w w w. w i n d e v. c o m
18
current project. HDeclareExternal HDisconnectClient HDescribeConnection HDescribeFile HDescribeFullTextIndex HDescribeLink HDescribeItem HDescribeTrigger HDescribeServerTrigger HStartServer HLast HDeactivateFilter HDeactivateAutoFilter Temporarily imports into the current schema, the description of a table based on an existing HyperFileSQL table. Displays a message on the client machines, and disconnects the application. Describes a temporary connection. Describes a temporary table (data file). Describes a full-text index in a table created by programming. Describes a temporary relationship (link) between two tables. Describes a column (item) of a temporary table. Adds or modifies a trigger on HyperFileSQL table. Adds or modifies a server trigger. Starts the server (uses MantaManager). Points to the last row of a table. Temporarily disables a filter on a table (a view or a query). Disables an automatic filter on linked files when browsing through an XML file. This filter was enabled using the HActivateAutoFilter function. Disables a trigger. Disables a HyperFileSQL Client/Server server trigger. Deletes a trigger. Deletes a server trigger. This server trigger will not be available anymore. Deletes a previously created view. Writes a row in a table without updating the corresponding indexes. Lets you find out if the row to which you want to point is outside of the table, the filter, the view or the query. Retrieves the structure and the value of the current row and exports them into an XML format character string. Displays a message on the client machines. Returns the number for the last error set off by the HyperFileSQL engine. Lets you test if a lock error happened. Lets you test if an error on duplicates happened. Returns the state of a row when a modification conflict occurs. Returns detailed information about the last error triggered by the HyperFileSQL engine. Lets you test if an integrity error happened. Returns the value of a control when a modification conflict occurs. Lets you find out if an error due to an invalid password happened on this table. Lets you find out the state of a row. Lets you find out the state of a server. Runs a stored procedure or function. Initializes a query created in the query editor and declares this query to the HyperFileSQL engine. Initializes a query written in SQL language and declares this query to the HyperFileSQL engine. Executes a previously created view. Exports the rows of a file (HyperFileSQL or OLE DB), a view or a query into an XML file. Extracts the contents of a blob (binary memo) type item into a file. Closes either a table (a file) or all the tables (all the files) that are open. Closes the current analysis. Closes a connection to a database. Lets you find out if a table exists. Defines and activates a filter on a file, a view or a query. Defines and activates a "Start with" type filter on a table, a view or a query. The "Start with" type filter lets you select all the rows that start with a pre-defined set of characters. Defines and activates an "included between" type filter on a table, a view or a query. The "included between" type filter lets you select all the rows found between two given values. Defines and activates a filter that looks for the exact value of a HNoModif HInitSubscriber HNoDatabaseAccess HInfoBackup HInfoServer HInfoTask HInfoUser HInfoServerProperty HInfoReplica HInfoGroup HInfoLog HInfoMemo HInfoDatabaseProperty HInfoFileProperty HInfoFileRights HInfoServerRights HInfoFile HSetLog HSetMemo HSetREP HSetReplication HSetServer HManageTask HSetTransaction HSetTrigger HImportHF55 HImportText HImportXML HInfoLock HInfoDatabaseRights HSetCache HSetDuplicates HSetIntegrity HSetDistantAccess HFlush HMergeView HEndNoDatabaseAccess HEndNoModif
string type control. This filter can be used on a table, a view or a query. Reauthorizes access to one or more databases accessible through a connection. Unlocks a table that has been locked in the same program by the HNoModif function. Forces the operating system on the computer where the tables (data files) are located to write the data directly to the disk. Creates a HyperFileSQL view from two previously created views. Temporarily disables remote access for accessing HyperFileSQL Classic tables found locally. Lets you configure cache management for the HyperFileSQL Client/Server engine. Enables or disables the duplicate management for a key. Enables or disables the management of an integrity constraint on a table's relationship. Enables or disables the log management of a logged table. Enables or disables the management of blob (memo) type columns. Enables or disables the management of the .REP file. Temporarily enables or disables replication management. Enables you to modify some server parameters. Enables or disables a scheduled task for a HyperFileSQL Client/Server server. Enables or disables transaction management. Enables or disables trigger management. Imports a Hyper File 5.5 table into a table in HyperFileSQL Classic format. Imports a text file into a table in HyperFileSQL Classic format. Imports an XML file into a table in HyperFileSQL Classic format. Returns some information about the lock of a table, a row or of all the rows of a table. Enables you to find out the rights granted to a user or a group for a database. Enables you to find out the rights granted to a user or a group for a table (data file). Enables you to find out the rights granted to a user or a group for a server. Returns the characteristics of a table found on a HyperFileSQL server. Returns some information about the specified group of users. Returns some information about the server logs. Returns the characteristics of blob (binary memos). Enables you to find out the properties of a database located on a HyperFileSQL server. Enables you to find out the properties of a table located on a HyperFileSQL server. Enables you to find out the properties of a HyperFileSQL server. Returns information about the specified replica. Specifically, this function lets you find out if the database contains data to replicate.. Returns some information on one or more backups performed on a HyperFileSQL Client/Server server. Returns the specified information about a server machine. Returns the characteristics of a scheduled task in an advanced variable of hScheduledTask type. Updates the user management variables with information about the specified user. Initializes the automatic identifier set of a subscriber replica file description (".RPL" file). Disables all accesses to a database, or to databases accessible through a connection. Prevents modifications on a table (for all the programs, including the one that requested the no modification policy). The rows can only be accessed in read mode. Inserts commentaries when creating an operation log. Lets you re-create an empty log. This function enables you for example to reset a log after a save operation or a replication. The content of the existing file is lost.
HDeactivateTrigger HDeactivateServerTrigger HDeleteTrigger HDeleteServerTrigger HDeleteView HWrite HOut HRecordToXML HSendMessageToClient HError HErrorLock HErrorDuplicates HErrorStatusModification HErrorInfo HErrorIntegrity HErrorModification HErrorPassword HState HServerStatus HExecuteProcedure HExecuteQuery HExecuteSQLQuery HExecuteView HExportXML HExtractMemo HClose HCloseAnalysis HConnectionClose HFileExist HFilter HFilterStartsWith
HFilterIncludedBetween
HLogInfo HLogRecreate
HFilterIdentical
H y p e r F i l e S Q L w w w. w i n d e v. c o m
19
Restarts the logging of the table. This log operation has been stopped by using the HLogStop function. Stops the logging of the table. The changes performed on the logged file are not recorded anymore. Converts the crossed out rows of a table into deleted rows. Deletes a position saved using the HSavePosition function. Returns the list of WinDev schemas available in a given directory. Lists the Client/Server databases associated with a connection. Returns the list of keys and indexes of a table recognized by the HyperFileSQL engine. Returns the list of connections defined in the application (connections defined in the schema and/or dynamically defined). Returns the list of elements stored on a HyperFileSQL server (set of procedures, stored procedures or queries). Returns the list of tables of the current analysis or of a specific analysis recognized by the HyperFileSQL engine. Returns the list of user groups defined for a connection. Returns the list of full-text indexes in a file (or query, or view) recognized by the HyperFileSQL engine. Returns the list of links (Merise type) found in the current analysis or in a specific analysis. Returns the list of parameters saved from the server's stored procedures. Returns the list of parameters for a query created with the query editor. Returns the list of OLE DB providers installed on the computer. Returns the list of assignments for the tables found in an analysis. Returns the list of columns of a table recognized by the HyperFileSQL engine. Lists the scheduled tasks of a server. Returns the list of triggers applied to one or more HyperFileSQL tables. Lists the various triggers available for a connection or for a file of the connection. Returns the list of users defined for a connection. Lists the users currently connected to one or more files accessed by a Client/Server connection. Reads a row in a table based on a given row number. Points to the last row of a table, reads the row and updates the HyperFileSQL variables. Points to the previous row of a table, reads the row and updates the HyperFileSQL variables. Points to the first row of a table, reads the row and updates the HyperFileSQL variables. Points to the first row of the table whose value for a specific column is greater than or equals to a value sought. Points to the last row of the table whose value for a specific column is lower than or equals to a value sought. Points to the first row of the table whose value for a specific column is greater than or equals to a value sought. Points to the next row of a table, reads the row and updates the HyperFileSQL variables.
in the corresponding group management variables. HModifyDatabaseProperty HModifyFileProperty HModifyServerProperty HModifyTask HModifyUser HNbRec HRecNum HOptimize Modifies the properties of a database located on a HyperFileSQL server. Modifies the properties of a HyperFileSQL file located on a server. Modifies the properties of a HyperFileSQL server. Modifies a scheduled task on the server defined by the connection. Modifies a user's information based on the elements found in the corresponding user management variables. Returns the number of rows (records) of a HyperFileSQL table or view. Returns the row number of the current row in the HyperFileSQL table or view. Optimizes the access to the indexes of HyperFileSQL Classic tables: the indexes are loaded into the system cache. Speeds up the first table read operations and the first query executions. Optimizes selection queries by taking advantage of an application's idle time (times without processes). Optimizes access to HyperFileSQL table indexes. Opens a table. Opens an analysis in HyperFileSQL Classic format. Opens a connection to a database. Sets the password used to create or open a table. Returns the approximate position of the row inside the table. Points to a row based on the approximate position of one of its columns. The row is read. Stores a unique computer number to use it for network transactions. Points to the previous row in the table. The row is not read. Points to the first row of a table. The row is not read. Initializes a query written in SQL and declares this query to the database server in order to optimize the next executions of the query. This query is not executed. This query is executed later by the HExecuteSQLQuery function. Enables you to find out or modify the priority of the calling application. Modifies the priority of a client application. Clears and deletes the temporary directory previously created by the HServerWorkingDir function. Crosses out a table row. Initializes one or all the controls of a table with their default values. Initializes the structure for managing the client computers (HClient structure). Initializes the group management variables with their default values. Initializes the user management variables with their default values. Points to the first row of the table whose value for a specific column is greater than or equals to a value sought. Points to the last row of a table whose value for a specific column is lower than or equals to a value sought. The record is not read. Points to the first row of the table whose value for a specific column is greater than or equals to a value sought. Performs a reconnection to the server for all the interrupted connections. Moves backward several rows inside the table from the current position, based on a specified column. Returns the contents of the current row. Returns the server logs into a table for the period between two given dates. Returns the contents of a column for the current row. Regenerates a table based on its log. Warns if a reindex is in progress on a table and returns the percentage of the reindex that is done. Rebuilds a table's index. Returns the path of a temporary directory on the server. Enables you to restore a backup performed by the HBackup function (or via the HyperFileSQL Control Center).
HListStoredElement HListFile HListGroup HListFullTextIndex HListLink HListParameter HListeQueryParam HListProvider HListREP HListItem HListTask HListTrigger HListServerTrigger HListUser HListConnectedUser HRead HReadLast HReadPrevious HReadFirst HReadSeek HReadSeekLast HReadSeekFirst HReadNext
HOptimizeQuery
HOpen HOpenAnalysis HConnectionOpen HPass HGetCurrentPosition HSetPosition HPost HPrevious HFirst HPrepareSQLQuery
HPriority HPriorityClient HClearWorkingDir HCross HReset HResetClient HResetGroup HResetUser HSeek HSeekLast
HSeekFirst HReconnect HBackward HRetrieveRecord HRetrieveLog HRetrieveItem HRegenerateFile HIndexingInProgress HIndex HServerWorkingDir HRestoreBackup
HMigrateLinkedCompositeKey Migrates the value of the linked composite keys originating from a Hyper File 5.5 format table that was migrated to HyperFileSQL Classic. HRefresehSet HRefreshQuery HMode HModify HModifyDatabaseRights HModifyFileRights HModifyServerRights HModifyGroup Creates or updates a set of procedures on a new HyperFileSQL server. Creates or updates a query on a new HyperFileSQL server. Changes the mode and method for locking tables. Modifies in the table the specified row or the row found in memory. Modifies the rights granted to a user or a group of users for a HyperFileSQL Client/Server database. Modifies the rights granted to a user or a group for a HyperFileSQL Client/Server table (data file). Modifies the rights granted to a user or a group on a HyperFileSQL server. Modifies the group's information based on the elements found
H y p e r F i l e S Q L w w w. w i n d e v. c o m
20
HRestorePosition HRplDeclareLink
Restores the previously stored context of a table. Declares a (1,1) (0,n) type link between two tables. Only the rows of the target table that have a corresponding row in the source table (taking its filter into account) will be replicated during a heterogeneous replication. Defines the WLanguage procedure that will be called for each replication operation for a given table. This procedure is executed by the HCreateMoveableReplica and HSynchronizeReplica functions. Performs the backup of the content of a HyperFileSQL server. Saves a persistent value from a stored procedure. Stores the current context of a table. Enables or disables the security mechanism. Performs various statistical calculations on a table's keys. Returns the date for the last update of the index statistics. These statistics were computed using the HStatCalculate or HIndex functions. Returns the time of the last update of the index statistics. These statistics were computed using the HStatCalculate or HIndex functions. Returns the number of duplicates for a given column. Returns the number of entries for a given column. Returns an estimate increased by the number of entries for a given column within a given value interval. Replaces the logical name of the data directory (specified in the analysis) by a physical name. Points to the next row in the table. The row is not read. Deletes a row from a table. Deletes a database found on a HyperFileSQL server. Deletes a set of stored procedures from a HyperFileSQL server. Deletes HyperFileSQL files (.fic, .ndx and .mmo files if any) from the server. Deletes from the server a group of users associated with a connection. Deletes an integrity rule between two tables on the server. Deletes a parameter previously saved by the HSaveParameter function. Deletes a query from the HyperFileSQL server. Deletes a backup previously done by the HBackup function. Deletes a scheduled task from a HyperFileSQL Client/Server server. Deletes all the records from a data file or a query. Deletes from the server a user associated with a connection. Customizes the display of a message on a user computer and the disconnection of a client computer. Customizes the automatic error management. Synchronizes a master replica and a subscriber replica. If a transaction is in progress, cancels all the operations on the tables in transaction since the beginning of the transaction. Starts a transaction on HyperFileSQL tables, and creates the transaction table. Validates the current transaction. Indicates if a transaction was interrupted (the transaction wasn't validated nor canceled). The characteristics of the interrupted transaction can be known using HyperFileSQL variables. Transforms all the rows "in transaction" into "Normal" rows if these rows do not belong to a transaction currently in progress. If a row from the specified table is considered in transaction, but does not belong to any current transaction, it is automatically freed. Lists the transactions in progress or interrupted on the server of the specified connection. Sorts a view by creating an index based on a view's column. Checks if the current row corresponds to the current filter or the current search. Verifies that the data found in the index file (.NDX file) correctly refers to the data found in the table (.FIC). Sets the comparison mode of the files. Copies a data source (view, query, ) into a physical HyperFileSQL table with the same description. This table is not encrypted or protected by password.
Enables you to find out if the content of a table has been modified. Assigns the specified value to an item in the current row. Saves the modifications performed in a view into the corresponding table.
HRplFilterProcedure
VOCABULARY
The 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 the field of databases.
PC SOFT vocabulary Analysis (CDM, LDM) Analysis diagram File Item Record Link Lock Key Unique key Key with duplicates Relationship item Window Control Report Visualization table Scheduled task Text memo Binary memo Stored procedures Other vendors Schema, relational model, entity/relationship model Schema diagram Table Column, Field (a field is the Intersection between a column and a row) Row (tuple) Relationship Lock Index Primary key Foreign key our key without uniqueness constraints Foreign key Form Field Report Datagrid, Browse Sequencer Lob or clob Lob or blob UDF (User Defined Function)
HStatTime
HStatNbDuplicates HStatNbRec HStatNbRecRange HSubstDir HNext HDelete HDeleteDatabase HDeleteSet HDeleteFile HDeleteGroup HDeleteLink HDeleteParameter HDeleteQuery HDeleteBackup HDeleteTask HDeleteAll HDeleteUser HOnServerCall HOnError HSynchronizeReplica HTransactionCancel HTransactionStart HTransactionEnd HTransactionInterrupted
HTransactionFree
A database is a set of tables (files) linked through relationships (links). A table (file) is a set of data structured in columns (items), made of rows (records). The intersection between a row and a column is a field (item value). An index is used to speed up searches, queries and access to a table. An index can be defined on a column (key item) or on several columns (composite key). A primary key is a unique key. A foreign key is a key, which may have duplicates, used in connection with a primary key to establish a relationship between two tables.
H y p e r F i l e S Q L w w w. w i n d e v. c o m
21
Testimonials
Here are some testimonials: When it comes to performance, HyperFileSQL delivers. It's always instant "The HyperFileSQL database has dazzled users by its incredible query response times" "Concretely, each remote radio accesses a HyperFileSQL Client/Server database through ADSL" "We benefit from the HyperFileSQL database established performance. The result of all our queries is instant" "We have close to 10,000 records that are managed by HyperFileSQL Mobile and access times are instant" "All our sales people and our clients are impressed by the access speed of the database." "The HyperFileSQL database offers a replication mechanism that it sophisticated yet easy to implement" "Of course we deployed the HyperFileSQL database on the interactive kiosks. Its reliability and free unlimited distribution is a major benefit for a fleet of more than 700 kiosks. The 1,000 kiosks mark will be reached soon". You will also find some technical videos and testimonial videos on the www.windev.com site.
HyperFileSQL is provided for free with the WINDEV, WEBDEV and WINDEV Mobile IDE. HyperFileSQL is optimized for working with these environments. The HyperFileSQL database engine can be used freely and at no charge when distributed with applications or sites created using these IDEs, regardless of the number of copies deployed and regardless of the type of application (educational applications, personal applications and business applications).
There are no royalties to pay, no declaration to perform. The deployment is free, unlimited and at no cost. Please see the text of the user license for any additional information. The ODBC driver and the OLE DB provider can be distributed at no cost with applications built using WINDEV, WEBDEV, or WINDEV Mobile. The tools mentioned in this document are
provided with the product. All trademarks are registered trademarks of their respective owners. Some functions may not be available right away when the version is shipping, but will be offered later as downloads. WINDEV, WEBDEV and WINDEV Mobile are professional software. Despite the care taken in creating this document, it is not contractual. Screen shots and
H y p e r F i l e S Q L w w w. w i n d e v. c o m
22
HyperFileSQL is your data's best ally! You too, like millions of users the world over, take advantage of the security offered by HyperFileSQL.
RDBMS
Windows, Linux, Mac
Client/Server, Single computer, Mobile, Embedded
www.windev.com