> modeling of the whole database

Doesn't seem like it's hard to do.

With MD arrays, you are all but there anyway:

Table:

    A 2d array.

    Whatever is introduced to more directly support
    handling MD arrays could very plausibly help in
    more directly supporting handling of single table
    data. This includes basic syntax, and standardized
    MD array sorting, filtering, and aggregating functions
    (which will all but inevitably emerge once standard
    direct support for MD arrays is in place).

"Virtual dataset" from one table:

    A 2d 'slice' or rectangle. Both slices must support,
    er, discontiguousness.

    'Horizontal' slice picks certain fields from the set
    available. I would expect it to be a small (or zero)
    hop, from whatever MD array syntax Perl 6 ends
    up with, to having a slice serve as a field selector.

    'Vertical' slice picks certain records based on
    column data. This will be a bigger hop, involving
    some array filtering function, but it again seems
    inevitable that Perl 6's MD arrays will have this
    sort of filtering function/feature available. So,
    again, possibly zero extra work required.

Dataset from multiple 'joined' tables

    (A pair of joined tables can be visualized as two
    spreadsheet like grids that intersect at right angles
    with the intersection point being the joined column.
    The vertical slice picks out rows where the joined
    column values from the two tables are the same.)
    
    Whatever is used to support vertical slicing based
    on col data should be extensible to do joining too.

With the above, you have all the direct support I need to do
all the non-transactional database crunching I have done
with perl for the last several years. ALL of it. I'm pretty sure
I'd be able to do grand sweeping db operations in one liners!


> <DejaVu>Didn't we have this discussion about six months ago???</>

I searched the perl6-all archives for any discussion
of this sort of stuff when I first started to think about it.
I used the string "SQL". I read all the posts (about 50-100 iirc).
None went down this path.

Reply via email to