Recital

Login Register
 
System Requirements:
  • Minimum memory: 4MB
  • Minimum Diskspace: ~20MB
The Recital Runtime System (RTS) executes the object code generated by the Recital compiler. Object files are read from disk and loaded dynamically into shared memory segments. The advantage of this is that when an application has been loaded and is being run by one user, further users share the same object code in memory. This results in performance gains, reduced memory consumption and also provides a high degree of scalability for Recital applications.
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...
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...
When using Recital on linux you can integrate your favorite linux shell commands and use then directly inside Recital using the alias command. This can be particularly useful when you ssh into a remote system and run recital. You can then issue linux commands without having to open another terminal session. Several aliased shell commands are predefined in /opt/recital/conf/config.db. You can add others to suit your needs.
 
On my system i have these commands aliased.
alias pwd  "? default()"
alias cp   "copy file "
alias mv   "rename "
alias rm   "erase "
alias ls   "run('ls $0')"
alias ps   "run('ps $0')"
alias grep "run('grep $0')"
alias cd   "set default to $1"
alias cls  "clear screen"
These commands can now be used inside the Recital command window just as you would use them at the linux prompt, including the ability to pipe commands together.
ls -l | grep .prg
ps -elf | grep db.exe
The run() function that is used to run the shell command as specified in the alias command will capture output and display it in a text viewer. If you want to run the command and display the contents full screen, then specify true as the third parameter to the run().
run("command", true, true) 
The arguments to run() are as follows.
Argument Description
1 the command line to run
2 True if output should be displayed in a text area (default True)
3 True if the output should be displayed full screen (default False)
 
The alias command handles parameter substitition.
Macro Description
$0 the command line following the command name
$1..$n the arguments given to the command
Published in Blogs
Read more...
Recital 10 introduced the ECHO command. This command operates in the same way as the PHP ECHO command. It does not append a newline to the output but rather operates in the same way as the existing ?? command in Recital. The string being output can contain C-style string escapes \n \t or \r (newline, tab and carriage return respectively) e.g.
echo "Hello world\n"
Published in Blogs
Read more...
The Komodo Editor is a free project based editor that runs on the mac, linux and windows. It color codes and handles auto completion for lots of languages (including Recital/PHP/Perl/C etc). You can download it free from here.
Published in Blogs
Read more...

We are pleased to announce the release of Recital 10.0.2.

Here is a brief list of features and functionality that you will find in the 10.0.2 release. 

  • New commands
    SAVE/RESTORE DATASESSION [TO variable]
    CONNECT "connectString"
    DISCONNECT 
  • New functions (OData compatible)
    startsWith(haystack as character, needle as character)
    endsWith(haystack as character, needle as character)
    indexOf(haystack as character, needle as character)
    substringOf(haystack as character, needle as character)
    concat(expC1, expC2)
  • New system variables
    _LASTINSERTEDSYNCNUM
  • Enhanced commands
    Added CONNSTRING "connectingString" to the USE command to connect to remote servers (Recital, MySQL, PostgreSQL, Oracle, ODBC)
  • Further SQL query optimizer improvements to boost performance
  • Performance improvements in Recital Web
  • Forced all temporary files into temp directory (improves performance when local tmpfs is used as temp directory and reduces network i/o)
  • Fixed cookie and session variable problems in Recital Web
  • Fixed problem with temporary files being left after some server queries involving memos and object data types
  • Improved performance of the Windows ODBC driver
  • Fixed a security flaw in Recital Web
  • Fixed all reported bugs 
Published in Blogs
Read more...

I am a fan of the previous incarnation of the PlugComputer so I was excited to see that Marvell have unveiled a new PlugComputer dubbed imaginatively "PlugComputer 3.0."

PlugComputer 3.0 Features:

Smaller sleeker design,
More powerful CPU - 2gz Armanda 300 CPU,
120GB 1.8-inch SATA hard drive,
Wifi,
Bluetooth,
10/100/1000 wired Ethernet,
USB 2.0
.
512MB of RAM
512MB of Flash memory


I for one would like to see an additional Ethernet port added to increase application flexibility, for some applications where you are using clustered plugs or even for routing, having multiple Ethernet ports is a must.

Even without multiple ethernet ports, these low power consumption devices really could have a place in SME environments, replacing large cumbersome legacy hardware with compact Linux plug servers.

More information about the PlugComputer can be found here
Published in Blogs
Read more...
Each Recital table can have one or more data dictionaries to provide a central repository for constraints and other metadata. 

Here's how to set up field validation for a field with a small static number of acceptable values.

Using the example.dbf table from the southwind sample database, validation can be added to the title field to ensure it matches one of a list values.
open database southwind
alter table example add constraint;
(title set check inlist(alltrim(title),"Miss","Mr","Mrs","Ms"))
The inlist() function checks whether the specified expression exists in the comma-separated list which follows.  An attempt to update title with a value not in the list will give an error: Validation on field 'TITLE' failed.

If you have access to the Recital Workbench, you can use the modify structure worksurface to add and alter your dictionary entries, including a customized error message if required.

validation


Published in Blogs
Read more...

lslk lists information about locks held on files with local inodes on systems running linux.

Install it with:

yum install lslk
Published in Blogs
Read more...

Copyright © 2025 Recital Software Inc.

Login

Register

User Registration
or Cancel