Razzak,

Very interesting...  Indeed I knew nothing of this.  Review of all code, some 
written--should I more accurately say slapped together--in DOS days, shows how 
willy-nilly my naming conventions were.  I'm currently--may take a long time, 
I'm so slow these days--closely reviewing all aspects of the database as it 
becomes apparent that XE is optimized and my database is not...

I welcome the help and hints.

Thank you!

Claudine

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of 
A. Razzak Memon
Sent: Thursday, June 29, 2017 11:48 AM
To: [email protected]
Subject: Re: [RBASE-L] - RE: PROJECT Puzzle

Claudine,

Using R:BASE X and R:BASE X Enterprise (Version 10) ...

Did you know that you can define a table of all controlled column names and 
data types, that will be enforced when using those columns in a VIEW?

By default when an alias column name is used in a view, R:BASE makes the best 
guess to define the data type. For example, if you define an alias name such as 
"Full_Name" based on (LastName+,','&FirstName&MiddleName), and if the Full_Name 
column is not defined anywhere in the database, you will get the data type as 
"NOTE" when defining a VIEW.

If you wish to represent the "Full_Name" as TEXT (60), for example, then you 
will need to define a controlled column table with such column name and data 
type to be used when using that column name in a VIEW.

Here's how ...

CREATE TABLE `Controlled_Column_Names` + (`Full_Name` TEXT (60)) COMMENT ON 
`Full_Name` IN `Controlled_Column_Names` IS 'Full Name'
COMMENT ON TABLE `Controlled_Column_Names` IS 'Controlled Column Names with 
Data Types to be Used in Views'
RETURN

You don't have to have any rows in that table. Just a list of columns.

Hope that helps!

Very Best R:egards,

Razzak


At 01:11 PM 6/27/2017, Claudine Robbins wrote:

>Dan,
>
>Your comment leads to an eye-opener. When I PROJECT my view, the two 
>fields I use in the ORDER BY become NOTE fields instead of TEXT which 
>may partly account for the extreme processing delay.
>
>I also note that when creating a TEMP table, R:BASE strictly enforces 
>field definitions and constraints--which the PROJECT command does 
>not--so whereas a VIEW’s column names/aliases can be anything, 
>PROJECTing them can accidentally end up in mismatched fields, also my 
>case in this instance.
>
>I will definitely review all PROJECT instances in my code.  This could 
>very well trip me up somewhere else.
>
>Thank you very much.
>
>Claudine
>
>From: [email protected]
>[mailto:[email protected]] On Behalf Of Dan Goldberg
>Sent: Tuesday, June 27, 2017 8:43 AM
>To: [email protected]
>Subject: [RBASE-L] - RE: PROJECT Puzzle
>
>Sounds like you need to report it.
>
>BTW, I avoid project commands as it locks the table. I create the temp 
>table and insert.
>
>Dan Goldberg
>
>From: 
><mailto:[email protected]>[email protected]
>[mailto:[email protected]] On Behalf Of Claudine Robbins
>Sent: Monday, June 26, 2017 11:55 AM
>To: <mailto:[email protected]>[email protected]
>Subject: [RBASE-L] - PROJECT Puzzle
>
>Hello all,
>
>I PROJECT a 7 column, 3 row view into a temporary table.  In 9.5 it is 
>instantaneous, in XE it takes 1:42 minutes.  NOTE: PROJECT command in 
>RRBYW19 is instantaneous with or without an ORDER BY on the SALESINF view.
>
>PROJECT ttable FROM vtable USING ALL  --- 9.5 and XE are instantaneous
>
>PROJECT ttable FROM vtable USING ALL  ORDER BY fieldA --- 9.5 is 
>instantaneous, XE takes 1:42 minutes
>
>Remember there are only 3 rows…  I scruupulously followed conversion 
>instructions from 9.5 to XE and encountered no errors of any kind.
>
>Appreciate any hints or comments.
>
>TIA,
>
>Claudine

--
You received this message because you are subscribed to the Google Groups 
"RBASE-L" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"RBASE-L" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to