Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Data Bases > Pgsql Hackers > Re: introductio...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 2 of 11 Topic 9634 of 9928
Post > Topic >>

Re: introduction of WIP window function patch

by kleptog@[EMAIL PROTECTED] (Martijn van Oosterhout) Jul 5, 2008 at 04:20 PM

--2oS5YaxWCcQjTEyO
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, Jul 05, 2008 at 07:04:29PM +0900, H.Harada wrote:
> Hi,
>=20
> As I proposed a month before, I am working on window function.

Very nice!

> http://umitanuki.net/pgsql/wfv01/design.html
>=20
> The problem is, as written in the "Things to discussed" section of the
> do***ent, how you define window functions (e.g. RANK()). My idea is to
> treat them as specialized functions such as SET OF functions and mark
> it in pg_proc. But this doesn't resolve RANK() boundary problem.

Actually, I would make RANK() and ROW_NUMBER() act more like
aggregates. ISTM you have two kinds of window functions:

- aggregation: a result is calculated over a set and the result copied
  across all the rows.
- order depenadant: same as above, but the result is different for each
  row.

I think you could make the latter work using the current aggregation
setup, just by calling the final_func for each row rather than just
once at the end.

That would make RANK() a normal aggrgate which returns the number of
distinct values seen so far (assuming input is ordered) and
ROW_NUMBER() is just an alias for COUNT().

I hope this is clear, let me know if it doesn't make sense.

Have a nice day,
--=20
Martijn van Oosterhout   <kleptog@[EMAIL PROTECTED]
>   http://svana.org/kleptog/
> Please line up in a tree and maintain the heap invariant while=20
> boarding. Thank you for flying nlogn airlines.

--2oS5YaxWCcQjTEyO
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFIb4MoIB7bNG8LQkwRAuxyAJ99O3vGv/Qa+aQS2MX5ODcOhoyL1QCdFQm9
uCM71L1B2VSN0NQootlMb3M=
=ufh0
-----END PGP SIGNATURE-----

--2oS5YaxWCcQjTEyO--
 




 11 Posts in Topic:
introduction of WIP window function patch
umi.tanuki@[EMAIL PROTECT  2008-07-05 19:04:29 
Re: introduction of WIP window function patch
kleptog@[EMAIL PROTECTED]  2008-07-05 16:20:24 
Re: introduction of WIP window function patch
simon@[EMAIL PROTECTED]   2008-07-05 18:21:13 
Re: introduction of WIP window function patch
umi.tanuki@[EMAIL PROTECT  2008-07-06 03:40:48 
Re: introduction of WIP window function patch
umi.tanuki@[EMAIL PROTECT  2008-07-06 03:46:58 
Re: introduction of WIP window function patch
simon@[EMAIL PROTECTED]   2008-07-05 21:12:33 
Re: introduction of WIP window function patch
umi.tanuki@[EMAIL PROTECT  2008-07-06 17:39:11 
Re: introduction of WIP window function patch
simon@[EMAIL PROTECTED]   2008-07-06 10:22:11 
Re: introduction of WIP window function patch
umi.tanuki@[EMAIL PROTECT  2008-07-06 19:15:02 
Re: introduction of WIP window function patch
david@[EMAIL PROTECTED]   2008-07-17 00:28:59 
Re: introduction of WIP window function patch
umi.tanuki@[EMAIL PROTECT  2008-07-17 18:20:59 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Wed Aug 20 8:41:05 CDT 2008.