Re: [PATCHES] new aggregate functions v1

2004-05-19 Thread Bruce Momjian
Tom Lane wrote:
> Bruce Momjian <[EMAIL PROTECTED]> writes:
> > I will try to apply it within the next 48 hours.
> 
> This patch seems to still be under active discussion.  Would you refrain
> from giving the impression that it's going to be applied as-is?

He submitted a new version based on Neil's comments, and barring any
other comments, it will be applied in 24-48 hours.  I haven't seen
anything that would meke that conclusion invalid.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings


Re: [PATCHES] new aggregate functions v1

2004-05-19 Thread Tom Lane
Bruce Momjian <[EMAIL PROTECTED]> writes:
> I will try to apply it within the next 48 hours.

This patch seems to still be under active discussion.  Would you refrain
from giving the impression that it's going to be applied as-is?

regards, tom lane

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]


Re: [PATCHES] new aggregate functions v1

2004-05-18 Thread Bruce Momjian

Agreed, these seem to be of general interest and have been requested in
the past.  I will clean up the docs a little.

Your patch has been added to the PostgreSQL unapplied patches list at:

http://momjian.postgresql.org/cgi-bin/pgpatches

I will try to apply it within the next 48 hours.

---


Fabien COELHO wrote:
> 
> Dear patchers,
> 
> please find attached a small patch for adding new aggregate functions:
> 
> (1) boolean-and and boolean-or aggregates named bool_and and bool_or.
> they correspond to standard sql every and some/any aggregates.
> they do not have the right name as there is a problem with
> the standard and the parser for some/any.
> 
> (2) bitwise integer aggregates named bit_and and bit_or for
> int2, int4, int8 and bit types. They are not standard,
> however they exist in other db (eg mysql), and I needed them
> for some other stuff.
> 
> 
> The patch adds:
> 
> - 3 new functions for boolean aggregates in src/backed/utils/adt/bool.c,
>   src/include/utils/builtins.h and src/include/catalog/pg_proc.h
> 
> - new aggregates declared in src/include/catalog/pg_proc.h and
>   src/include/catalog/pg_aggregate.h
> 
> - some documentation and validation about these new aggregates.
> 
> It also updates the catalog version. It validates for me.
> 
> Have a nice day,
> 
> -- 
> Fabien Coelho - [EMAIL PROTECTED]

Content-Description: 

[ Attachment, skipping... ]

> 
> ---(end of broadcast)---
> TIP 5: Have you checked our extensive FAQ?
> 
>http://www.postgresql.org/docs/faqs/FAQ.html

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

   http://www.postgresql.org/docs/faqs/FAQ.html


Re: [PATCHES] new aggregate functions v1

2004-05-18 Thread Fabien COELHO

Dear Bruce,

> Christopher Kings-Lynne wrote:
> > What does this patch have to do with ACLs?  Wasn't that Fabien's
> > previous patch?
>
> I thought it was used to read them somehow.

Yes, as for bit_* aggregates are concerned. However I still need them,
and they also have been asked for in the past. This functionnality cost
very little.

Rejecting aclitem accessors just means that I'll have to install them with
my package, hence the current discussion about providing all includes
files and so by default.

As for bool_and and bool_or are to provide standard functionnalities.
I did not need them, but I saw them in the standard (every/any/some),
thus I developed them next to the one I needed.

-- 
Fabien Coelho - [EMAIL PROTECTED]

---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings


Re: [PATCHES] new aggregate functions v1

2004-05-17 Thread Bruce Momjian
Christopher Kings-Lynne wrote:
> What does this patch have to do with ACLs?  Wasn't that Fabien's 
> previous patch?

I thought it was used to read them somehow.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings


Re: [PATCHES] new aggregate functions v1

2004-05-17 Thread Christopher Kings-Lynne
What does this patch have to do with ACLs?  Wasn't that Fabien's 
previous patch?

Chris
Bruce Momjian wrote:
Where are on this?  Without a user-visible way of seeing the acl values,
is this still useful?
---
Fabien COELHO wrote:
Dear patchers,
please find attached a small patch for adding new aggregate functions:
(1) boolean-and and boolean-or aggregates named bool_and and bool_or.
   they correspond to standard sql every and some/any aggregates.
   they do not have the right name as there is a problem with
   the standard and the parser for some/any.
(2) bitwise integer aggregates named bit_and and bit_or for
   int2, int4, int8 and bit types. They are not standard,
   however they exist in other db (eg mysql), and I needed them
   for some other stuff.
The patch adds:
- 3 new functions for boolean aggregates in src/backed/utils/adt/bool.c,
 src/include/utils/builtins.h and src/include/catalog/pg_proc.h
- new aggregates declared in src/include/catalog/pg_proc.h and
 src/include/catalog/pg_aggregate.h
- some documentation and validation about these new aggregates.
It also updates the catalog version. It validates for me.
Have a nice day,
--
Fabien Coelho - [EMAIL PROTECTED]

Content-Description: 

[ Attachment, skipping... ]

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?
  http://www.postgresql.org/docs/faqs/FAQ.html

---(end of broadcast)---
TIP 6: Have you searched our list archives?
  http://archives.postgresql.org


Re: [PATCHES] new aggregate functions v1

2004-05-17 Thread Bruce Momjian

Where are on this?  Without a user-visible way of seeing the acl values,
is this still useful?

---

Fabien COELHO wrote:
> 
> Dear patchers,
> 
> please find attached a small patch for adding new aggregate functions:
> 
> (1) boolean-and and boolean-or aggregates named bool_and and bool_or.
> they correspond to standard sql every and some/any aggregates.
> they do not have the right name as there is a problem with
> the standard and the parser for some/any.
> 
> (2) bitwise integer aggregates named bit_and and bit_or for
> int2, int4, int8 and bit types. They are not standard,
> however they exist in other db (eg mysql), and I needed them
> for some other stuff.
> 
> 
> The patch adds:
> 
> - 3 new functions for boolean aggregates in src/backed/utils/adt/bool.c,
>   src/include/utils/builtins.h and src/include/catalog/pg_proc.h
> 
> - new aggregates declared in src/include/catalog/pg_proc.h and
>   src/include/catalog/pg_aggregate.h
> 
> - some documentation and validation about these new aggregates.
> 
> It also updates the catalog version. It validates for me.
> 
> Have a nice day,
> 
> -- 
> Fabien Coelho - [EMAIL PROTECTED]

Content-Description: 

[ Attachment, skipping... ]

> 
> ---(end of broadcast)---
> TIP 5: Have you checked our extensive FAQ?
> 
>http://www.postgresql.org/docs/faqs/FAQ.html

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 8: explain analyze is your friend


Re: [PATCHES] new aggregate functions v1

2004-05-17 Thread Fabien COELHO

Dear Jan,

> > You may also notice that the impact in close to void, there are two lines
> > added for each of these bit_* functions. I'm not going to develop an
> > external package for 16 lines of code.
>
> Maybe I'm missing something, but what is wrong with installing these
> functions on demand as user defined functions? After all, even PL/pgSQL
> is still an external package ... sort of at least.

By external, I mean with a separate distribution, which is the result if
the addition is rejected. I could try to submit to contrib, but the
current status is that part is that it should be "reduced" or even
disappear, so I'm no that confident that it would be accepted either.

If you are a user and you need a bit_*, then you look in the doc. In the
aggregate function documentation, you'll find no such function, so then
you turn to the "how to add an aggregate function". Things there are very
interesting, but it is a little bit overshot for a simple basic aggregate.

Have a nice day,

-- 
Fabien Coelho - [EMAIL PROTECTED]

---(end of broadcast)---
TIP 6: Have you searched our list archives?

   http://archives.postgresql.org


Re: [PATCHES] new aggregate functions v1

2004-05-16 Thread Jan Wieck
Fabien COELHO wrote:
Dear Alvaro,
> (2) bitwise integer aggregates named bit_and and bit_or for
> int2, int4, int8 and bit types. They are not standard,
> however they exist in other db (eg mysql), and I needed them
> for some other stuff.
I'm sure people won't like to add functions just because "some other DB
has them".
I develop them because I NEEDED them, NOT because they are available
in mysql and I would want compatibility. I needed them for some queries
over pg_catalog, as acl are encoded as bitfields.
So the addition is about functionnality, not compatibility.
The argument about mysql is rather to show that other people in the world
found these functions also useful, and to justify the name I chose.
The argument about MySQL (tm) is IMHO a good one, because in contrast to 
MySQL (tm), PostgreSQL is designed and implemented as a catalog based 
system. We carry the performance burden we always got blamed for 
(unjustified because MySQL (tm) is slow as hell anyway) for a reason, 
and the reason is flexibility. In MySQL (tm) you don't have a chance, 
the functionality you want must be the functionality linked into the 
server. With PostgreSQL you can add the functionality you need where and 
when you need it.

You may also notice that the impact in close to void, there are two lines
added for each of these bit_* functions. I'm not going to develop an
external package for 16 lines of code.
Maybe I'm missing something, but what is wrong with installing these 
functions on demand as user defined functions? After all, even PL/pgSQL 
is still an external package ... sort of at least.

Jan
--
#==#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.  #
#== [EMAIL PROTECTED] #
---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]


Re: [PATCHES] new aggregate functions v1

2004-05-02 Thread Fabien COELHO

Dear Peter,

> We are not going to accept any functions that are primarily intended to
> access the internals aclitem data.  You need to think of a high-level
> description of your problem and implement functions for that.

I already have what I juge a "high level description" of the problem,
thanks. It nevertheless still use the acl bitfield for representings
granted rights. I don't think the bitfield is a bad idea to represent a
set of rights, as they are easy to combine (say, with a bit and aggregate
to compute effective rights for instance). My problem rather is to deal
with arrays in a relationnal query. It is not easy to query things when
data are not normalized.

So I will still need bit_* functions. I can implement them outside for
sure, but I really think that it does cost nothing to propose them as a
default (only the declaration is needed), and I know I'm not the first one
to look for them and being desappointed not to find them (there was a
discussion about these very functions last month on some other pg list).

Although It is very interesting to learn about how to add aggregates in
pg, maybe all users around don't have the time and the motivation for
that.

-- 
Fabien Coelho - [EMAIL PROTECTED]

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster


Re: [PATCHES] new aggregate functions v1

2004-05-02 Thread Peter Eisentraut
Fabien COELHO wrote:
> I develop them because I NEEDED them, NOT because they are available
> in mysql and I would want compatibility. I needed them for some
> queries over pg_catalog, as acl are encoded as bitfields.

We are not going to accept any functions that are primarily intended to 
access the internals aclitem data.  You need to think of a high-level 
description of your problem and implement functions for that.


---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
  subscribe-nomail command to [EMAIL PROTECTED] so that your
  message can get through to the mailing list cleanly


Re: [PATCHES] new aggregate functions v1

2004-05-02 Thread Fabien COELHO

> (1) boolean-and and boolean-or aggregates named bool_and and bool_or.
> they correspond to standard sql every and some/any aggregates.

They do not, sorry. I'll resubmit.

-- 
Fabien Coelho

---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings


Re: [PATCHES] new aggregate functions v1

2004-05-02 Thread Fabien COELHO

Dear Alvaro,

> > (2) bitwise integer aggregates named bit_and and bit_or for
> > int2, int4, int8 and bit types. They are not standard,
> > however they exist in other db (eg mysql), and I needed them
> > for some other stuff.
>
> I'm sure people won't like to add functions just because "some other DB
> has them".

I develop them because I NEEDED them, NOT because they are available
in mysql and I would want compatibility. I needed them for some queries
over pg_catalog, as acl are encoded as bitfields.

So the addition is about functionnality, not compatibility.

The argument about mysql is rather to show that other people in the world
found these functions also useful, and to justify the name I chose.

You may also notice that the impact in close to void, there are two lines
added for each of these bit_* functions. I'm not going to develop an
external package for 16 lines of code.

-- 
Fabien Coelho - [EMAIL PROTECTED]

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster


Re: [PATCHES] new aggregate functions v1

2004-05-01 Thread Alvaro Herrera
On Sat, May 01, 2004 at 04:21:21PM +0200, Fabien COELHO wrote:

> (2) bitwise integer aggregates named bit_and and bit_or for
> int2, int4, int8 and bit types. They are not standard,
> however they exist in other db (eg mysql), and I needed them
> for some other stuff.

I'm sure people won't like to add functions just because "some other DB
has them".  Maybe we could take this kind of "compatibility functions"
all together into some gborg module and let people install that if they
want closer compatibility.  So we could have "Mysql compatible
functions", "Oracle compatible functions", etc.  Thus the backend would
be free from this stuff, and people who needs it just installs the whole
package.

-- 
Alvaro Herrera ()
"La realidad se compone de muchos sueños, todos ellos diferentes,
pero en cierto aspecto, parecidos..." (Yo, hablando de sueños eróticos)

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

   http://www.postgresql.org/docs/faqs/FAQ.html