On 11/03/2016 01:45, toki wrote:
On 10/03/2016 01:27, Wols Lists wrote:
On top of that, an integrity layer that enforces datatypes. This isn't part of standard multi-value,
What? Back when I played with Pick, one of the selling points was that
one couldn't put the wrong type of data into a record field. Was that
feature simply a vendor provided customization?
OMG... Yes it must have been.
ED FILE RECORD
scribble scribble scribble
FI
Bingo, one record with all sorts of data all over the place with no
validity checking whatsoever. Bear in mind that in relational, the
schema is PREscriptive, defining what data goes where. In Pick, the
DICTionary is DEscriptive, telling you what's supposed to go where -
indeed it is so non-prescriptive that it's optional!
If you used one of the generators, such as &PACE or System Builder, they
probably did use the dictionary as a schema, and would have enforced
integrity. I want to put a layer at the WRITE level that, if enabled,
enforces the DICTionary as a schema - it shouldn't be that hard.
I'll then need a Basic compiler.
Does it have to be BASIC?
Can't R or Python be used instead of BASIC?
###
I realize that using R means either including another scripting
language, or upgrading the existing R Language extension so that it
installs a version of R that plays nicely within LibreOffice.
One of the problems with "play nicely with Pick" is that Pick is p-code
based, and that p-code gets embedded in the data files ... so I need
something where I can embed the object code, as data, in the DICTionary.
(For the relational guys, these are "calculated fields", Pick "stores a
mini program in the column definition of the schema" which then
calculates the value of that column.)
But that's one of the reasons for wanting to play nice with / integrate
with StarBasic - it makes it easy to spit out a .odf from the database.
That's one up on Crystal Reports :-)
I know Pick isn't the easiest of topics to Google for, but some links for reading ...
Talking about which, Given how poor the documentation for BASE is, do
you know anybody who would be willing and able to write documentation on
using PICK within LibreOffice. (FWIW, Even a developers outline on what
it should do, would be a good starting point for users.)
That's actually one of my strong points - not necessarily knowing what's
required but I'm very good at explaining to users AT THEIR LEVEL what
they need to know. If I can see where they're struggling, I can explain
it to them in terms they can understand.
For example, the way I can best describe Pick (to someone who has some
degree of database knowledge) is to say that just as the row is the
basic unit in relational, so the RECORD is the basic unit in Pick. The
RECORD maps to a real world object and, in relational terms, should be a
3nf view of that object. Because that 3nf view includes foreign keys, I
can then access other objects/RECORDs via a "directed graph" type
mechanism, rather than a relational join. This may have pros and cons,
but a massive pro is speed. And because you're thinking at the object
level, it doesn't really make sense to have a relational style "record
set". Instead, think of stepping through your 3nf objects using a cursor
size of one.
Hopefully that'll showcase my explanational skills, and give you an idea
as to how Pick functions, though if you've played with it I guess you've
already got some idea :-)
Unfortunately, I don't know of any truly Free Software implementation I
could recommend to go with LO. The only plausible candidate is OpenQM /
ScarletDME, which is *allegedly* GPL'd. Note the stress on "allegedly"
:-( MaVerick, which has been mentioned elsewhere, I think just ran out
of steam (and it's Java-based - a victim of "let's rewrite everything in
Java" imho).
And can I write a version of Pick that comes over as a bright shiny new
bauble? I don't know, but I can damn well give it the good old college try!
jonathon
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice
Context
Re: Firebird doesn't support MSVC 2015 · Lionel Elie Mamane
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.