Re: [HACKERS] adding operators

2007-10-01 Thread D'Arcy J.M. Cain
On Mon, 1 Oct 2007 12:38:07 +1000
Brendan Jurd [EMAIL PROTECTED] wrote:
 On 10/1/07, Islam Hegazy [EMAIL PROTECTED] wrote:
  I am a graduate student in the University of Calgary. I want to add some new
  operators to PostgreSQL to perform some specific tasks in a project I am
  working in. My problem is that I cannot find my way into the code, where
  should I start and where to find the documentation for the code.
 
 There's no need to hack Postgres to add operators.  You can do so by
 defining functions using CREATE FUNCTION, and then hooking operators
 up to them using CREATE OPERATOR.

And if you need to add C code you can do that too.  Check some examples
in contrib such as my chkpass module for examples.

-- 
D'Arcy J.M. Cain [EMAIL PROTECTED] |  Democracy is three wolves
http://www.druid.net/darcy/|  and a sheep voting on
+1 416 425 1212 (DoD#0082)(eNTP)   |  what's for dinner.

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

   http://www.postgresql.org/docs/faq


Re: [HACKERS] adding operators

2007-10-01 Thread Islam Hegazy

Thanks for this information. It was really helpful.

Another problem that is facing me is altering existing functions. For 
example, what if I want to change the execution of the SUM function to work 
as follows:


select sum(a)
from mytable w(5);

which means to sum only 5 records or records that arrived in the last 5 
minutes. Do I need to change the core code of PostgreSQL to implement such 
thing?


Regards
Islam Hegazy



- Original Message - 
From: Brendan Jurd [EMAIL PROTECTED]

To: Islam Hegazy [EMAIL PROTECTED]
Cc: pgsql-hackers@postgresql.org
Sent: Sunday, September 30, 2007 8:38 PM
Subject: Re: [HACKERS] adding operators



On 10/1/07, Islam Hegazy [EMAIL PROTECTED] wrote:
I am a graduate student in the University of Calgary. I want to add some 
new

operators to PostgreSQL to perform some specific tasks in a project I am
working in. My problem is that I cannot find my way into the code, where
should I start and where to find the documentation for the code.


There's no need to hack Postgres to add operators.  You can do so by
defining functions using CREATE FUNCTION, and then hooking operators
up to them using CREATE OPERATOR.

http://www.postgresql.org/docs/8.2/static/xoper.html
http://www.postgresql.org/docs/8.2/static/sql-createoperator.html

Regards,
BJ 



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

  http://archives.postgresql.org


Re: [HACKERS] adding operators

2007-10-01 Thread Andrew Dunstan



Islam Hegazy wrote:

Thanks for this information. It was really helpful.

Another problem that is facing me is altering existing functions. For 
example, what if I want to change the execution of the SUM function to 
work as follows:


select sum(a)
from mytable w(5);

which means to sum only 5 records or records that arrived in the last 
5 minutes. Do I need to change the core code of PostgreSQL to 
implement such thing?





The first can be done with a limit clause, the second using a where 
clause on a timestamp column - there is no good case that I can see for 
either usage, not to mention the question of standards compatibility.


cheers

andrew

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

  http://www.postgresql.org/docs/faq


Re: [HACKERS] adding operators

2007-09-30 Thread Brendan Jurd
On 10/1/07, Islam Hegazy [EMAIL PROTECTED] wrote:
 I am a graduate student in the University of Calgary. I want to add some new
 operators to PostgreSQL to perform some specific tasks in a project I am
 working in. My problem is that I cannot find my way into the code, where
 should I start and where to find the documentation for the code.

There's no need to hack Postgres to add operators.  You can do so by
defining functions using CREATE FUNCTION, and then hooking operators
up to them using CREATE OPERATOR.

http://www.postgresql.org/docs/8.2/static/xoper.html
http://www.postgresql.org/docs/8.2/static/sql-createoperator.html

Regards,
BJ

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