Re: [Django] #26067: Orderable ArrayAgg and StringAgg

2019-04-06 Thread Django
#26067: Orderable ArrayAgg and StringAgg
-+-
 Reporter:  Floris den Hengst|Owner:  Floris
 |  den Hengst
 Type:  New feature  |   Status:  closed
Component:  contrib.postgres |  Version:  master
 Severity:  Normal   |   Resolution:  fixed
 Keywords:  ArrayAgg StringAgg   | Triage Stage:  Accepted
  ordering   |
Has patch:  1|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  1
Easy pickings:  0|UI/UX:  0
-+-

Comment (by Mariusz Felisiak ):

 In [changeset:"47a1f2a06fac2ee88d3ba9d88e8f7c45a4f6f5e8" 47a1f2a0]:
 {{{
 #!CommitTicketReference repository=""
 revision="47a1f2a06fac2ee88d3ba9d88e8f7c45a4f6f5e8"
 Refs #26067 -- Added more tests for ordering in StringAgg.
 }}}

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/061.45dcfa1d68b921fbc206fbc62bba2d83%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #26067: Orderable ArrayAgg and StringAgg

2018-06-28 Thread Django
#26067: Orderable ArrayAgg and StringAgg
-+-
 Reporter:  Floris den Hengst|Owner:  Floris
 |  den Hengst
 Type:  New feature  |   Status:  closed
Component:  contrib.postgres |  Version:  master
 Severity:  Normal   |   Resolution:  fixed
 Keywords:  ArrayAgg StringAgg   | Triage Stage:  Accepted
  ordering   |
Has patch:  1|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  1
Easy pickings:  0|UI/UX:  0
-+-
Changes (by Tim Graham ):

 * status:  assigned => closed
 * resolution:   => fixed


Comment:

 In [changeset:"96199e562dcc409ab4bdc2b2146fa7cf73c7c5fe" 96199e5]:
 {{{
 #!CommitTicketReference repository=""
 revision="96199e562dcc409ab4bdc2b2146fa7cf73c7c5fe"
 Fixed #26067 -- Added ordering support to ArrayAgg and StringAgg.
 }}}

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/061.ca34d5bb7fac5f8f65265e46049e%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #26067: Orderable ArrayAgg and StringAgg

2018-04-13 Thread Django
#26067: Orderable ArrayAgg and StringAgg
-+-
 Reporter:  Floris den Hengst|Owner:  Floris
 |  den Hengst
 Type:  New feature  |   Status:  assigned
Component:  contrib.postgres |  Version:  master
 Severity:  Normal   |   Resolution:
 Keywords:  ArrayAgg StringAgg   | Triage Stage:  Accepted
  ordering   |
Has patch:  1|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  1
Easy pickings:  0|UI/UX:  0
-+-
Changes (by Matthew Pava):

 * cc: Matthew Pava (added)


-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/061.8907f9a11bb86cd4e7bfb25b74bebab0%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #26067: Orderable ArrayAgg and StringAgg

2017-10-20 Thread Django
#26067: Orderable ArrayAgg and StringAgg
-+-
 Reporter:  Floris den Hengst|Owner:  Floris
 |  den Hengst
 Type:  New feature  |   Status:  assigned
Component:  contrib.postgres |  Version:  master
 Severity:  Normal   |   Resolution:
 Keywords:  ArrayAgg StringAgg   | Triage Stage:  Accepted
  ordering   |
Has patch:  1|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  1
Easy pickings:  0|UI/UX:  0
-+-
Changes (by Tim Graham):

 * needs_better_patch:  0 => 1


-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/061.e2d4108ea45d397fa7a98449ac9c5364%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #26067: Orderable ArrayAgg and StringAgg

2017-02-07 Thread Django
#26067: Orderable ArrayAgg and StringAgg
-+-
 Reporter:  Floris den Hengst|Owner:  Floris
 |  den Hengst
 Type:  New feature  |   Status:  assigned
Component:  contrib.postgres |  Version:  master
 Severity:  Normal   |   Resolution:
 Keywords:  ArrayAgg StringAgg   | Triage Stage:  Accepted
  ordering   |
Has patch:  1|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-
Changes (by Floris den Hengst):

 * needs_better_patch:  1 => 0


Comment:

 Unset patch new improvement after rebasing and targeting for Django 2.0.

--
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/061.7a72a429426a1932728d91b86e8f88b1%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #26067: Orderable ArrayAgg and StringAgg

2017-02-04 Thread Django
#26067: Orderable ArrayAgg and StringAgg
-+-
 Reporter:  Floris den Hengst|Owner:  Floris
 |  den Hengst
 Type:  New feature  |   Status:  assigned
Component:  contrib.postgres |  Version:  master
 Severity:  Normal   |   Resolution:
 Keywords:  ArrayAgg StringAgg   | Triage Stage:  Accepted
  ordering   |
Has patch:  1|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  1
Easy pickings:  0|UI/UX:  0
-+-
Changes (by Tim Graham):

 * needs_better_patch:  0 => 1


Comment:

 Patch needs rebasing and targeting for Django 2.0.

--
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/061.dbb7ecc86f47fe547bdebd10958abd1b%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #26067: Orderable ArrayAgg and StringAgg

2016-11-24 Thread Django
#26067: Orderable ArrayAgg and StringAgg
-+-
 Reporter:  Floris den Hengst|Owner:  Floris
 |  den Hengst
 Type:  New feature  |   Status:  assigned
Component:  contrib.postgres |  Version:  master
 Severity:  Normal   |   Resolution:
 Keywords:  ArrayAgg StringAgg   | Triage Stage:  Accepted
  ordering   |
Has patch:  1|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-
Changes (by Floris den Hengst):

 * needs_better_patch:  1 => 0


--
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/061.b548da66b4c0bddcb9906cb0762ae520%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #26067: Orderable ArrayAgg and StringAgg

2016-11-24 Thread Django
#26067: Orderable ArrayAgg and StringAgg
-+-
 Reporter:  Floris den Hengst|Owner:  Floris
 |  den Hengst
 Type:  New feature  |   Status:  assigned
Component:  contrib.postgres |  Version:  master
 Severity:  Normal   |   Resolution:
 Keywords:  ArrayAgg StringAgg   | Triage Stage:  Accepted
  ordering   |
Has patch:  1|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  1
Easy pickings:  0|UI/UX:  0
-+-

Comment (by Floris den Hengst):

 Replying to [comment:6 Tim Graham]:
 > Comments for improvement are on the PR.

 The original PR was closed due to inactivity.
 A new PR (in which the proposed improvements have been included) can be
 found here: https://github.com/django/django/pull/7604

--
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/061.64df6bb96f8c3a956be48e9f348b4110%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #26067: Orderable ArrayAgg and StringAgg

2016-07-08 Thread Django
#26067: Orderable ArrayAgg and StringAgg
-+-
 Reporter:  fdh  |Owner:  fdh
 Type:  New feature  |   Status:  assigned
Component:  contrib.postgres |  Version:  master
 Severity:  Normal   |   Resolution:
 Keywords:  ArrayAgg StringAgg   | Triage Stage:  Accepted
  ordering   |
Has patch:  1|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  1
Easy pickings:  0|UI/UX:  0
-+-
Changes (by timgraham):

 * needs_better_patch:  0 => 1


Comment:

 Comments for improvement are on the PR.

--
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/061.e55e79efc8c84fe2b07a46bc43140abe%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #26067: Orderable ArrayAgg and StringAgg

2016-07-05 Thread Django
#26067: Orderable ArrayAgg and StringAgg
-+-
 Reporter:  fdh  |Owner:  fdh
 Type:  New feature  |   Status:  assigned
Component:  contrib.postgres |  Version:  master
 Severity:  Normal   |   Resolution:
 Keywords:  ArrayAgg StringAgg   | Triage Stage:  Accepted
  ordering   |
Has patch:  1|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-
Changes (by fdh):

 * has_patch:  0 => 1


--
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/061.157e188ecb1fb1c173e79efbc6bb403a%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #26067: Orderable ArrayAgg and StringAgg

2016-07-05 Thread Django
#26067: Orderable ArrayAgg and StringAgg
-+-
 Reporter:  fdh  |Owner:  fdh
 Type:  New feature  |   Status:  assigned
Component:  contrib.postgres |  Version:  master
 Severity:  Normal   |   Resolution:
 Keywords:  ArrayAgg StringAgg   | Triage Stage:  Accepted
  ordering   |
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-

Comment (by fdh):

 As pointed out by Josh Smeaton in the mailing list
 [https://groups.google.com/forum/#!topic/django-developers/YCSDX3GApBM
 discussion]:
   Consider that any ordering added within *may* need to be contributed to
 GROUP BY, but I haven't read the documentation to say that is a
 requirement.

 In the Postgres' [https://www.postgresql.org/docs/9.5/static/functions-
 aggregate.html documentation] these aggregations are only mentioned as
 being special by meaningful difference in ordering input values:
   The aggregate functions array_agg, [...] string_agg, and xmlagg, as well
 as similar user-defined aggregate functions, produce meaningfully
 different result values depending on the order of the input values. This
 ordering is unspecified by default, but can be controlled by writing an
 ORDER BY clause within the aggregate call, as shown in Section 4.2.7.
 I don't think anything in the ORDER BY clause in the aggregation would
 have to be contributed to a GROUP BY clause in the surrounding query as
 the aggregation operation is independent of the grouping of the
 surrounding query.

--
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/061.416d269a15dbdd99264cc58720e79419%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #26067: Orderable ArrayAgg and StringAgg

2016-07-02 Thread Django
#26067: Orderable ArrayAgg and StringAgg
-+-
 Reporter:  fdh  |Owner:  fdh
 Type:  New feature  |   Status:  assigned
Component:  contrib.postgres |  Version:  master
 Severity:  Normal   |   Resolution:
 Keywords:  ArrayAgg StringAgg   | Triage Stage:  Accepted
  ordering   |
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-
Changes (by fdh):

 * owner:   => fdh
 * status:  new => assigned


--
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/061.1e5264796cd51fc64565e61f1b3f0385%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #26067: Orderable ArrayAgg and StringAgg

2016-01-11 Thread Django
#26067: Orderable ArrayAgg and StringAgg
-+-
 Reporter:  fdh  |Owner:
 Type:  New feature  |   Status:  new
Component:  contrib.postgres |  Version:  master
 Severity:  Normal   |   Resolution:
 Keywords:  ArrayAgg StringAgg   | Triage Stage:  Accepted
  ordering   |
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-
Changes (by timgraham):

 * version:   => master
 * stage:  Unreviewed => Accepted


--
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/061.d2e65155de73fba08925317689019d2b%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #26067: Orderable ArrayAgg and StringAgg

2016-01-11 Thread Django
#26067: Orderable ArrayAgg and StringAgg
-+-
 Reporter:  fdh  |Owner:
 Type:  New feature  |   Status:  new
Component:  contrib.postgres |  Version:
 Severity:  Normal   |   Resolution:
 Keywords:  ArrayAgg StringAgg   | Triage Stage:
  ordering   |  Unreviewed
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-
Changes (by fdh):

 * needs_better_patch:   => 0
 * needs_tests:   => 0
 * needs_docs:   => 0


Old description:

> The [http://www.postgresql.org/docs/9.0/static/functions-aggregate.html
> documentation] of Postgres 9.0 first mentions the possibility of ordering
> the results within aggregations such as ARRAY_AGG and STRING_AGG.
>
> This could be useful in some cases.
> For example: it could make sense to perform a StringAgg in
> lexicographical order in some cases.
>
> The basic format of ordering within aggregations in SQL is quite simple:
> {{{
> #!sql
> SELECT ARRAY_AGG(some_field ORDER BY some_field ASC) FROM table;
> SELECT ARRAY_AGG(some_field ORDER BY some_field DESC) FROM table;
> SELECT ARRAY_AGG(some_field ORDER BY other_field ASC) FROM table;
> }}}
>
> It would be nice if the above would be supported as follows:
> {{{
> #!python
> Model.objects.aggregate(ArrayAgg(some_field, order_by='some_field'))
> Model.objects.aggregate(ArrayAgg(some_field, order_by='-some_field'))
> Model.objects.aggregate(ArrayAgg(some_field, order_by='other_field'))
> }}}
>
> where order_by is an optional parameter. If it not specified, behavior
> can remain unchanged from the current implementation.
>
> As noted by Josh Smeaton in the [https://groups.google.com/forum/#!topic
> /django-developers/YCSDX3GApBM mailinglist] discussion for this feature,
> any ordering added within '''may''' need to be contributed to GROUP BY.
> This might require some investigation.

New description:

 The Postgres-specific ArrayAgg and StringAgg aggregations were added in
 [https://docs.djangoproject.com/en/1.9/ref/contrib/postgres/aggregates/
 Django 1.9].

 The [http://www.postgresql.org/docs/9.0/static/functions-aggregate.html
 documentation] of Postgres 9.0 first mentions the possibility of ordering
 the results within aggregations such as ARRAY_AGG and STRING_AGG.

 This could be useful in some cases.
 For example: it could make sense to perform a StringAgg in lexicographical
 order in some cases.

 The basic format of ordering within aggregations in SQL is quite simple:
 {{{
 #!sql
 SELECT ARRAY_AGG(some_field ORDER BY some_field ASC) FROM table;
 SELECT ARRAY_AGG(some_field ORDER BY some_field DESC) FROM table;
 SELECT ARRAY_AGG(some_field ORDER BY other_field ASC) FROM table;
 }}}

 It would be nice if the above would be supported as follows:
 {{{
 #!python
 Model.objects.aggregate(ArrayAgg(some_field, order_by='some_field'))
 Model.objects.aggregate(ArrayAgg(some_field, order_by='-some_field'))
 Model.objects.aggregate(ArrayAgg(some_field, order_by='other_field'))
 }}}

 where order_by is an optional parameter. If it not specified, behavior can
 remain unchanged from the current implementation.

 As noted by Josh Smeaton in the [https://groups.google.com/forum/#!topic
 /django-developers/YCSDX3GApBM mailinglist] discussion for this feature,
 any ordering added within '''may''' need to be contributed to GROUP BY.
 This might require some investigation.

--

--
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/061.0c1a6d2b81e3b1deffabe10463167d49%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


[Django] #26067: Orderable ArrayAgg and StringAgg

2016-01-11 Thread Django
#26067: Orderable ArrayAgg and StringAgg
-+-
 Reporter:  fdh  |  Owner:
 Type:  New feature  | Status:  new
Component:   |Version:
  contrib.postgres   |
 Severity:  Normal   |   Keywords:  ArrayAgg StringAgg ordering
 Triage Stage:  Unreviewed   |  Has patch:  0
Easy pickings:  0|  UI/UX:  0
-+-
 The [http://www.postgresql.org/docs/9.0/static/functions-aggregate.html
 documentation] of Postgres 9.0 first mentions the possibility of ordering
 the results within aggregations such as ARRAY_AGG and STRING_AGG.

 This could be useful in some cases.
 For example: it could make sense to perform a StringAgg in lexicographical
 order in some cases.

 The basic format of ordering within aggregations in SQL is quite simple:
 {{{
 #!sql
 SELECT ARRAY_AGG(some_field ORDER BY some_field ASC) FROM table;
 SELECT ARRAY_AGG(some_field ORDER BY some_field DESC) FROM table;
 SELECT ARRAY_AGG(some_field ORDER BY other_field ASC) FROM table;
 }}}

 It would be nice if the above would be supported as follows:
 {{{
 #!python
 Model.objects.aggregate(ArrayAgg(some_field, order_by='some_field'))
 Model.objects.aggregate(ArrayAgg(some_field, order_by='-some_field'))
 Model.objects.aggregate(ArrayAgg(some_field, order_by='other_field'))
 }}}

 where order_by is an optional parameter. If it not specified, behavior can
 remain unchanged from the current implementation.

 As noted by Josh Smeaton in the [https://groups.google.com/forum/#!topic
 /django-developers/YCSDX3GApBM mailinglist] discussion for this feature,
 any ordering added within '''may''' need to be contributed to GROUP BY.
 This might require some investigation.

--
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/046.55888dcb99bf5d9b3dac26d91b3b9e72%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.