Cartensian joins were an impossibility.
I got my join modifiers mixed up.  Everything was like a "standard?" join, 
essentially the 2nd & 3rd parameters of the function became the (where 
this_table.field_name = lookup_table.field_name ) construct of an SQL where.
I meant the overhead was essentially the same as a relational DB doing a 
non-Cartesian join.
So for a field named inv_amount defined as trans(invoices,inv_id,amount,'x') in 
customer table, in SQL-speak becomes
  select c.cust_name, c.inv_id, i.amount
  from customer c, invoices i
  where c.inv_id+ = i.invoice_id;

In Pick-speak:  select cust_name, inv_id, inv_amount from customer

Add sorting, grouping, totaling, limits, etc. as necessary.  Notice, if the 
customer didn't have any invoices it still created a line of output, thus the 
left-join syntax in the SQL version.
Also, the database was designed with nested tables in mind, so the inv_id field 
could contain multiple values, essentially a list of all that customer's 
invoice ids.  
Also, it only contained single-column primary keys, and the trans function 
always did compares against the PK.  If you needed multi-column PKs, you could 
do it, but had to code for it yourself.  Of course, nobody really uses 
multi-column PKs right?

(Note, even for Pick, the above is a bad example, since an invoice ID list 
could get huge, thus slowing access to the regular data.  Data was stored as 
delimited strings of varying lengths.  You could, however, work around it 
physically, but still have it appear logically this way.)

> -----Original Message-----
> From: Martin Gainty [mailto:mgai...@hotmail.com]
> Sent: Thursday, September 30, 2010 12:30 PM
> To: Tomcat Users List
> Subject: RE: [OT] RE: Tomcat Consultant
> 
> 
> i agree ..caching works well for previously referenced entities
> natural joins work if the column names are identical that is
> table1.engineering==table2.engineering
> but engineering==eng would not work for natural join and consequently
> fallback to cartesian join
> which would of course slow the query to a crawl
> 
> an interesting digression
> Martin
> ______________________________________________
> Verzicht und Vertraulichkeitanmerkung/Note de déni et de
> confidentialité
> 
> Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene
> Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede
> unbefugte Weiterleitung oder Fertigung einer Kopie ist unzulaessig.
> Diese Nachricht dient lediglich dem Austausch von Informationen und
> entfaltet keine rechtliche Bindungswirkung. Aufgrund der leichten
> Manipulierbarkeit von E-Mails koennen wir keine Haftung fuer den Inhalt
> uebernehmen.
> Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas
> le destinataire prévu, nous te demandons avec bonté que pour satisfaire
> informez l'expéditeur. N'importe quelle diffusion non autorisée ou la
> copie de ceci est interdite. Ce message sert à l'information seulement
> et n'aura pas n'importe quel effet légalement obligatoire. Étant donné
> que les email peuvent facilement être sujets à la manipulation, nous ne
> pouvons accepter aucune responsabilité pour le contenu fourni.
> 
> 
> 
> 
> 
> > Subject: RE: [OT] RE: Tomcat Consultant
> > Date: Thu, 30 Sep 2010 12:12:41 -0500
> > From: jeffrey.jan...@polydyne.com
> > To: users@tomcat.apache.org
> >
> > > -----Original Message-----
> > > From: Christopher Schultz [mailto:ch...@christopherschultz.net]
> > > Sent: Thursday, September 30, 2010 10:41 AM
> > > To: Tomcat Users List
> > > Subject: Re: [OT] RE: Tomcat Consultant
> > >
> > > -----BEGIN PGP SIGNED MESSAGE-----
> > > Hash: SHA1
> > >
> > > Martin,
> > >
> > > On 9/30/2010 10:50 AM, Martin Gainty wrote:
> > > > i would be interested in what administration overhead with this
> > > > translate_entry table
> > >
> > > Probably about the same as doing a CREATE VIEW.
> > >
> > Actually more like a JOIN. The run-time loaded in and cached the
> necessary rows from the lookup tables and pulled the data fields
> needed. Essentially though, it was more like a left-join. To get the
> effect of a natural join, you had to add a where clause to exclude
> lines with null lookup return-values. I'm not sure if you could do a
> full-join, but I never had need to.
> >
> >
> _______________________________________________________________________
> ___
> >
> > Confidentiality Notice: This Transmission (including any attachments)
> may contain information that is privileged, confidential, and exempt
> from disclosure under applicable law. If the reader of this message is
> not the intended recipient you are hereby notified that any
> dissemination, distribution, or copying of this communication is
> strictly prohibited.
> >
> > If you have received this transmission in error, please immediately
> reply to the sender or telephone (512) 343-9100 and delete this
> transmission from your system.
> 
__________________________________________________________________________

Confidentiality Notice:  This Transmission (including any attachments) may 
contain information that is privileged, confidential, and exempt from 
disclosure under applicable law.  If the reader of this message is not the 
intended recipient you are hereby notified that any dissemination, 
distribution, or copying of this communication is strictly prohibited.  

If you have received this transmission in error, please immediately reply to 
the sender or telephone (512) 343-9100 and delete this transmission from your 
system.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to