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'
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.
In this article Yvonne Milne looks at the use of the Recital Remote Data Connectivity Functions with Recital Database Gateways.
TIP
To access the menu bar in Recital, press the / key.
To access the menu bar in Recital, press the / key.
Full details on Recital Function Keys can be found in the Key Assist section of the Help menu, or in our documentation wiki here.
Tagged under
The SET RELATION Recital Navigational Data Command can be used to link two (or more) tables based on the master index key of the child table. With a relation active, as you move through the parent table, the record pointer also moves in the child table, automatically selecting the first related record or moving to the end of file if no related record exists.
The code above will display the productid from the first related record, but you will often want to display information from all the related records in the child or detail table as in an SQL Left Outer Join.
In this case, we can use a second nested DO WHILE loop, for example:
Or we can use the SET SKIP command. The SET SKIP command can be used with DISPLAY, LIST and REPORT and automatically skips through all the related records in the child table.
LIST and DISPLAY offer a number of keyword options to allow you to configure the display output. REPORT offers full column based report design.
open database southwind
// open child table
use order_details order orderid in 0
// open parent table
use orders order orderid in 0
set relation to orderid into order_details
do while not eof()
? orders.orderid, order_details.productid
skip
enddo
The code above will display the productid from the first related record, but you will often want to display information from all the related records in the child or detail table as in an SQL Left Outer Join.
open database southwind
select orders.orderid, order_details.productid;
from orders left outer join order_details;
on orders.orderid = order_details.orderid
In this case, we can use a second nested DO WHILE loop, for example:
open database southwind
use order_details order orderid in 0
use orders order orderid in 0
set relation to orderid into order_details
do while not eof()
// Display first or 0 child record
? orders.orderid, order_details.productid
// Display any additional child records
do while not eof(order_details)
? orders.orderid, order_details.productid
skip in order_details
enddo
skip
enddo
Or we can use the SET SKIP command. The SET SKIP command can be used with DISPLAY, LIST and REPORT and automatically skips through all the related records in the child table.
open database southwind
use order_details order orderid in 0
use orders order orderid in 0
set relation to orderid into order_details
set skip on
set skip to order_details
list orders.orderid, order_details.productid
LIST and DISPLAY offer a number of keyword options to allow you to configure the display output. REPORT offers full column based report design.
Yes, your FoxPlus and FoxPRO applications should run under Recital with little to no changes at all. We provide expert product support if you have any questions or problems. If you lack the resources to move your applications into Recital we can provide that service to you also if required.
TIP
The Recital Oracle Gateway requires the Oracle libclntsh.so shared library. If this file is unknown to ld.so.conf, add it using the ldconfig command.
The Recital Oracle Gateway requires the Oracle libclntsh.so shared library. If this file is unknown to ld.so.conf, add it using the ldconfig command.
Tagged under
Latest Development News
The Lianja Application Platform is a cost-effective cloud database computing platform for SMEs (Small and Medium-sized Enterprises) that lets them focus on developing and deploying business Apps without the need to invest in lengthy application development times and an expensive IT infrastructure.The three pillars of Lianja are:
- The Lianja App Builder
- The Lianja Cloud Database
- Lianja.com Apps
And apparently IE9 will support rounded corners.
http://kbala.com/ie-9-supports-corner-radius/
http://kbala.com/ie-9-supports-corner-radius/
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.
The alias command handles parameter substitition.
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.exeThe 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) |
| Macro | Description |
|---|---|
| $0 | the command line following the command name |
| $1..$n | the arguments given to the command |