Обсуждение: RE: [QUESTIONS] The Complete and Ccomprehensive list of Newbie qu estion

Поиск
Список
Период
Сортировка

RE: [QUESTIONS] The Complete and Ccomprehensive list of Newbie qu estion

От
"Jackson, DeJuan"
Дата:
Is this possible?  Or is it already being done?

<a lot snipped>
> > > How do you assign function to your objects?
<snip>
> I don't know if tying functions to classes has been added
> to the TO-DO list.  You may want to post to the hacker list and
> suggest
> it.
>
Access to the function would then be gained by calling them through the
class. (i.e. select EMP.totalPeople();, or update CORPEMP set
CORPEMP.totals = DIVEMP.totalPeople();)
Just an OO thought.  (*ahhhh* It's that concurrency/data-hiding/coupling
thing again.)
Then one could disallow select/update on a table but all execute on
specific functions.  I do realize that this can be accomplished through
triggers, but this has other potentials...

Re: [HACKERS] RE: [QUESTIONS] The Complete and Ccomprehensive list of Newbie qu

От
ocie@paracel.com
Дата:
Jackson, DeJuan wrote:
>
> Is this possible?  Or is it already being done?
>
> <a lot snipped>
> > > > How do you assign function to your objects?
> <snip>
> > I don't know if tying functions to classes has been added
> > to the TO-DO list.  You may want to post to the hacker list and
> > suggest
> > it.
> >
> Access to the function would then be gained by calling them through the
> class. (i.e. select EMP.totalPeople();, or update CORPEMP set
> CORPEMP.totals = DIVEMP.totalPeople();)
> Just an OO thought.  (*ahhhh* It's that concurrency/data-hiding/coupling
> thing again.)
> Then one could disallow select/update on a table but all execute on
> specific functions.  I do realize that this can be accomplished through
> triggers, but this has other potentials...

Looks sort of like our procedural language, except that instead of
having a "pool" of functions, functions can be "member functions" of a
class.  In order to do this "all the way", it seems like we will need
all instances to appear in their parent classes -- Select
people.average_age() should hit all instances of people, even those
that have been subclassed into teachers, police, lawyers, etc.

Ocie Mitchell

Re: [HACKERS] RE: [QUESTIONS] The Complete and Ccomprehensive list of Newbie qu

От
jwieck@debis.com (Jan Wieck)
Дата:
>
> Is this possible?  Or is it already being done?
>
> <a lot snipped>
> > > > How do you assign function to your objects?
> <snip>
> > I don't know if tying functions to classes has been added
> > to the TO-DO list.  You may want to post to the hacker list and
> > suggest
> > it.
> >
> Access to the function would then be gained by calling them through the
> class. (i.e. select EMP.totalPeople();, or update CORPEMP set
> CORPEMP.totals = DIVEMP.totalPeople();)
> Just an OO thought.  (*ahhhh* It's that concurrency/data-hiding/coupling
> thing again.)
> Then one could disallow select/update on a table but all execute on
> specific functions.  I do realize that this can be accomplished through
> triggers, but this has other potentials...

    Currently, we don't have ACL's on functions. But at least for
    the ones  called  by  ExecMakeFunctionResult(),  this  really
    makes  sense  as  soon  as  we implement a uid/euid model for
    function/view execution.

    The uid/euid for functions, triggers and views is already  on
    my  personal  TODO  and  I hope to make it for 6.4, so we can
    offer  view  and  function/trigger  creation  (restricted  to
    trusted languages) to ordinary users.

    When  adding  ACL's  to  functions,  I think the ACL's at all
    should be moved into a separate catalog, containing the  Oid,
    owner and the ACL.


Jan

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#======================================== jwieck@debis.com (Jan Wieck) #