Recital

Login Register

Recital is a dynamic programming language with an integrated high performance database particularly well suited for the development and deployment of high transaction throughput applications.  Recital 10 further enhances Recital with extensive features and functionality to facilitate its use in fault tolerant high availability systems. Much of the development of Recital 10 was concentrated on performance optimizations and cluster aware functionality to provide an application platform that can be scaled as needed without any application changes. 

Key features of Recital 10 include:

  • Cluster aware database engine that works transparently with drbd, heartbeat, glusterfs and samba
  • High degree of fault tolerance with self healing indexes
  • Massive performance improvements 
  • Extensive internals overall and modernization with superior object-oriented capabilities
  • Chronological data versioning with database timelines
  • SmartQuery caching
  • Database Administration Tools
  • Code and Data Profiling
  • Better integration with unix/linux command shell
  • Incorporates a range of new built-in functions compatible with those in the PHP core libraries
  • Built-in support for outputting data in HTML, XML, and JSON format
  • Seamless SQL command integration into the Recital scripting language
  • Much improved Microsoft FoxPRO language compatibility
  • Numerous extensions and improvements (see below for details)
  • Very large file support (2^63)
Published in Blogs
Read more...
Subclipse is an Eclipse Team Provider plug-in providing support for Subversion within the Eclipse IDE. This plugin is required in order to use the recital eclipse workspace.
Published in Blogs
Read more...
Recital 10 enhances the SQL optimizer. Now, production indexes with a FOR <conditions> will be used to optimize SQL SELECT statements. If a WHERE <condition> on a SELECT statement matches a FOR <condition> on an index tag, this index will be used to optimize the query. The WHERE <condition> must be an exact match with the  FOR <condition>.  For example;
USE accounts 
INDEX on account_no TAG outstanding FOR balance  > 0
EXPLAIN SELECT * FROM accounts WHERE balance  > 0
  Optimized using for condition on tag 'OUTSTANDING'
Published in Blogs
Read more...
For Recital to run correctly on 64bit Linux you require the ia32 shared libraries.

The 64bit port of Recital requires these libraries to allow access to 32bit Xbase and C-ISAM data files which are 32bit.

If you do not have these libraries installed you will either get a "can't find db.exe" or an "error loading shared libraries" when trying to run or license Recital.

Installing the ia32 shared libraries

Redhat EL 5 / Centos 5 / Fedora 10

  1. Insert the Red Hat Enterprise Linux 5 Supplementary CD, which contains the ia32el package.

  2. After the system has mounted the CD, change to the directory containing the Supplementary packages. For example:

    cd /media/cdrom/Supplementary/

  3. Install the ia32el package:

    rpm -Uvh ia32el-<version>.ia64.rpm

Alternatively: Note you must have the required repo's enabled.
 yum install ia32el

Ubuntu / Debian

sudo apt-get install ia32-libs

Published in Blogs
Read more...
Recital's version of Samba allows application data to be shared and locked correctly across these systems, allowing a truly integrated heterogeneous data environment. For example Recital applications running on a UNIX/Linux server can read and update FoxPro databases residing on a Microsoft Windows NT server through the use of Samba.
You can view the modified changes by downloading the following files and patching these into your current Samba installation.
open.c (file opening and share modes)
version.h (versioning information)
The variable CPPFLAGS in the file Makefile will require the define -DRECITAL added to it.
In order to make the locking compatible between UNIX/Linux and Windows the following environment variable must be placed in the profile.db for Unix/Linux Developer and in profile.uas for the Universal Application Server:
DB_SAMBA=YES ;export DB_SAMBA 
The following settings need to be added to the smb.conf file to ensure that file names are always converted to lower case:
preserve case = no 
default case = lower 
mangle case = yes 
The following settings need to be added to the smb.conf file for locking to operate correctly:
oplocks = False
share modes = no
Published in Blogs
Read more...

MQCURMSGS()

Syntax

MQCURMSGS( <expN> )

Description

The MQCURMSGS() function returns the current number of unread messages in the queue specified by <expN>

Example

mqdes=mqopen("/myqueue")
if (mqdes < 0)
   messagebox(strerror()+",errno="+alltrim(str(error())))
   return
endif
do while (mqcurmsgs(mqdes) > 0)
   mstr=mqreceive(mqdes)
   if (empty(mstr))
      messagebox(strerror()+",errno="+alltrim(str(error())))
      return
   endif
   messagebox(mstr)
end do
mqclose(mqdes)

Published in Blogs
Read more...
Recital 10.0 introduced the COPY DATABASE <name> TO <name> command.. The full syntax is;
COPY DATABASE <name> TO <name>  [ IF [ NOT ] EXISTS ] 
This command is used to copy an existing database to a new database. By default an error will be returned if the target database already exists. Specifying the optional IF NOT EXISTS keywords no error will be returned if the target database already exists. If the optional IF EXISTS keywords are specified and the target database already exists, then it will be removed before the copy. Both the databases must be closed before they can be copied.
Published in Blogs
Read more...
Recital 10 introduced the DIE( )and EXIT( ) functions. These functions operates in the same way as the PHP DIE( ) and EXIT( ) functions. They output a message and terminate the current session in both Recital and Recital Web.
try
  open database southwind
catch
  die("Cannot open database, please try later.")
endtry
Published in Blogs
Read more...
Recital on Linux 64 bit requires certain 32 bit libraries for installation and/or operation.  It also needs to be installed and configured as the root user, or using sudo for those systems without a root login.

For systems that do not have the xterm libraries installed, please install these to use xterm, or set the DB_TERM environment variable to start Recital from a terminal:
DB_TERM=gnome-terminal; export DB_TERM

This setting can be added to the /opt/recital/conf/recital.conf (text) file to make it available system-wide.

Please note that the Recital ODBC Driver for Linux requires a 32 bit ODBC Driver Manager.

Centos 6:

sudo yum install zlib-devel.i686 pam-devel.i686
(and accept dependencies)
Then run the installer in text mode
sudo ./recital-10.0.3-linux32.bin --mode text
Run Recital with sudo the first time, to set the system filetype compatiblity settings.
sudo recital
After saving the compatibility settings, quit to exit, then run Recital as your preferred user.
> quit
$ recital

RedHat / Fedora family:

sudo yum install zlib-devel.i686 pam.i686
(and accept dependencies)
Then run the installer in text mode
sudo ./recital-10.0.3-linux32.bin --mode text
Run Recital with sudo the first time, to set the system filetype compatiblity settings.
sudo recital
After saving the compatibility settings, quit to exit, then run Recital as your preferred user.
> quit
$ recital

 Ubuntu family:

sudo apt-get install ia32-libs 
In later versions of Ubuntu, ia32-libs is obsolete. The following package should be installed:
sudo apt-get install lib32z1
Ubuntu 12.04 and above also require the following:
sudo apt-get install libpam0g:i386
Then run the installer in text mode
sudo ./recital-10.0.3-linux32.bin --mode text
Run Recital with sudo the first time, to set the system filetype compatiblity settings.
sudo recital
After saving the compatibility settings, quit to exit, then run Recital as your preferred user.
> quit
$ recital

Published in Blogs
Read more...
Recital Web: cookies, sessions, 64-bit Apache module: documentation update:

Recital Web Getting Started
Published in Blogs
Read more...

Copyright © 2025 Recital Software Inc.

Login

Register

User Registration
or Cancel