Re: [Django] #33459: Explain how to optimize full text search with SearchVectorField and GinIndex

2022-01-24 Thread Django
#33459: Explain how to optimize full text search with SearchVectorField and
GinIndex
--+
 Reporter:  Thomas Aglassinger|Owner:  nobody
 Type:  Cleanup/optimization  |   Status:  new
Component:  Documentation |  Version:  4.0
 Severity:  Normal|   Resolution:
 Keywords:  postgres  | Triage Stage:  Accepted
Has patch:  1 |  Needs documentation:  0
  Needs tests:  0 |  Patch needs improvement:  1
Easy pickings:  0 |UI/UX:  0
--+
Changes (by Claude Paroz):

 * status:  closed => new
 * needs_better_patch:  0 => 1
 * resolution:  wontfix =>
 * 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 view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/067.06b485f77026ecc226328a47a1f2480d%40djangoproject.com.


Re: [Django] #29984: Support prefetch_related() with Queryset.iterator()

2022-01-24 Thread Django
#29984: Support prefetch_related() with Queryset.iterator()
-+-
 Reporter:  Taylor H |Owner:  Jacob
 |  Walls
 Type:  New feature  |   Status:  closed
Component:  Database layer   |  Version:  dev
  (models, ORM)  |
 Severity:  Normal   |   Resolution:  fixed
 Keywords:   | Triage Stage:  Ready for
 |  checkin
Has patch:  1|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-
Changes (by Mariusz Felisiak ):

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


Comment:

 In [changeset:"edbf930287cb72e9afab1f7208c24b1146b0c4ec" edbf9302]:
 {{{
 #!CommitTicketReference repository=""
 revision="edbf930287cb72e9afab1f7208c24b1146b0c4ec"
 Fixed #29984 -- Added QuerySet.iterator() support for prefetching related
 objects.

 Co-authored-by: Raphael Kimmig 
 Co-authored-by: Simon Charette 
 }}}

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/070.efb9bb192c4790ac260cafc7376763d9%40djangoproject.com.


Re: [Django] #33459: Explain how to optimize full text search with SearchVectorField and GinIndex

2022-01-24 Thread Django
#33459: Explain how to optimize full text search with SearchVectorField and
GinIndex
-+-
 Reporter:  Thomas Aglassinger   |Owner:  nobody
 Type:   |   Status:  closed
  Cleanup/optimization   |
Component:  Documentation|  Version:  4.0
 Severity:  Normal   |   Resolution:  wontfix
 Keywords:  postgres | Triage Stage:
 |  Unreviewed
Has patch:  1|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-

Comment (by Mariusz Felisiak):

 > I found this too abstract to apply immediately and would have liked an
 example similar to the one included in the proposed patch. At least
 something like:
 >
 > {{{
 > from django.contrib.postgres.indexes import GinIndex
 > from django.contrib.postgres.search import SearchVectorField
 >
 > class Entry(models.Model):
 > ...  # same data fields as before
 > search_vector = models.SearchVectorField(null=True)
 >
 > class Meta:
 > indexes = [GinIndex(fields=['search_vector']]
 > }}}
 > Yes, everything shown here is explained one way or the other in the
 paragraphs before but it took me a while to turn these general and
 abstract descriptions into the code above. Unlike all the other parts in
 this chapter, which have a concise and well written example for the
 concepts they explain.

 In the
 [https://docs.djangoproject.com/en/dev/ref/contrib/postgres/search/#performance
 Performance] section we're talking about ''"**a functional index** which
 matches the search vector you wish to use"'' so rather
 {{{
 GinIndex(SearchVector('body_text'), name='body_search_vector_idx')
 }}}
 What do you think about adding?
 {{{#!diff
 diff --git a/docs/ref/contrib/postgres/search.txt
 b/docs/ref/contrib/postgres/search.txt
 index cfed877d9c..fa369670bb 100644
 --- a/docs/ref/contrib/postgres/search.txt
 +++ b/docs/ref/contrib/postgres/search.txt
 @@ -255,8 +255,14 @@ run into performance problems. Full text search is a
 more intensive process
  than comparing the size of an integer, for example.

  In the event that all the fields you're querying on are contained within
 one
 -particular model, you can create a functional index which matches the
 search
 -vector you wish to use. The PostgreSQL documentation has details on
 +particular model, you can create a functional
 +:class:`GIN ` or
 +:class:`GiST ` index which
 matches
 +the search vector you wish to use. For example::
 +
 +GinIndex(SearchVector('body_text'), name='body_search_vector_idx')
 +
 +The PostgreSQL documentation has details on
  `creating indexes for full text search
  `_.


 }}}
 Would you like to prepare a patch? (if you like it of course)

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/067.3bb921c275996d48c444dd8094cf2a8d%40djangoproject.com.


Re: [Django] #33459: Explain how to optimize full text search with SearchVectorField and GinIndex

2022-01-24 Thread Django
#33459: Explain how to optimize full text search with SearchVectorField and
GinIndex
-+-
 Reporter:  Thomas Aglassinger   |Owner:  nobody
 Type:   |   Status:  closed
  Cleanup/optimization   |
Component:  Documentation|  Version:  4.0
 Severity:  Normal   |   Resolution:  wontfix
 Keywords:  postgres | Triage Stage:
 |  Unreviewed
Has patch:  1|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-

Comment (by Thomas Aglassinger):

 Replying to [comment:6 Mariusz Felisiak]:

 > We could clarify this with a small diff, e.g.: ...

 Yes, that would be a welcome improvement.

 > > Also there is no real point using them with the text fields of your
 model, which I had intuitively assumed.
 >
 > It's already documented in the
 [https://docs.djangoproject.com/en/dev/ref/contrib/postgres/search/#performance
 Performance] section: ''"can create a functional index which **matches the
 search vector** you wish to use"''.

 I found this too abstract to apply immediately and would have liked an
 example similar to the one included in the proposed patch. At least
 something like:

 {{{
 from django.contrib.postgres.search import SearchVectorField

 class Entry(models.Model):
 ...  # same data fields as before
 search_vector = models.SearchVectorField(null=True)

 class Meta:
 indexes = [GinIndex(fields=['search_vector']]
 }}}
 Yes, everything shown here is explained one way or the other in the
 paragraphs before but it took me a while to turn these general and
 abstract descriptions into the code above. Unlike all the other parts in
 this chapter, which have a concise and well written example for the
 concepts they explain.

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/067.658ecacaff5fafb6bf2c32084dc59d76%40djangoproject.com.


Re: [Django] #33460: Change SQLite backend to generate INSERT statements using VALUES instead of UNION.

2022-01-24 Thread Django
#33460: Change SQLite backend to generate INSERT statements using VALUES 
instead of
UNION.
-+-
 Reporter:  Keryn Knight |Owner:  Keryn
 Type:   |  Knight
  Cleanup/optimization   |   Status:  closed
Component:  Database layer   |  Version:  dev
  (models, ORM)  |
 Severity:  Normal   |   Resolution:  fixed
 Keywords:  sqlite orm   | Triage Stage:  Ready for
  bulk_create batch  |  checkin
Has patch:  1|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-
Changes (by Mariusz Felisiak ):

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


Comment:

 In [changeset:"c27932ec938217d4fbb0adad23c0d0708f83f690" c27932ec]:
 {{{
 #!CommitTicketReference repository=""
 revision="c27932ec938217d4fbb0adad23c0d0708f83f690"
 Fixed #33460 -- Used VALUES clause for insert in bulk on SQLite.

 SQLite 3.7.11 introduced the ability to use multiple values directly.
 SQLite 3.8.8 made multiple values not subject to the
 SQLITE_LIMIT_COMPOUND_SELECT (500).
 }}}

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/067.51f1518324e47cf9d56ab15eeff8198d%40djangoproject.com.


Re: [Django] #33460: Change SQLite backend to generate INSERT statements using VALUES instead of UNION.

2022-01-24 Thread Django
#33460: Change SQLite backend to generate INSERT statements using VALUES 
instead of
UNION.
-+-
 Reporter:  Keryn Knight |Owner:  Keryn
 Type:   |  Knight
  Cleanup/optimization   |   Status:  assigned
Component:  Database layer   |  Version:  dev
  (models, ORM)  |
 Severity:  Normal   |   Resolution:
 Keywords:  sqlite orm   | Triage Stage:  Ready for
  bulk_create batch  |  checkin
Has patch:  1|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-
Changes (by Mariusz Felisiak):

 * stage:  Accepted => Ready for checkin


-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/067.a06346765286ec74139403bed3ce112a%40djangoproject.com.


Re: [Django] #19580: Unify reverse foreign key and m2m unsaved model querying

2022-01-24 Thread Django
#19580: Unify reverse foreign key and m2m unsaved model querying
-+-
 Reporter:  Anssi Kääriäinen |Owner:  raydeal
 Type:   |   Status:  assigned
  Cleanup/optimization   |
Component:  Database layer   |  Version:  dev
  (models, ORM)  |
 Severity:  Normal   |   Resolution:
 Keywords:   | Triage Stage:  Accepted
Has patch:  1|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  1|UI/UX:  0
-+-
Changes (by raydeal):

 * needs_better_patch:  1 => 0
 * needs_tests:  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 view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/066.68c1242d7b5c44f9314a6347c6b4936d%40djangoproject.com.


Re: [Django] #33062: File upload crash when a file extension contains null characters.

2022-01-24 Thread Django
#33062: File upload crash when a file extension contains null characters.
-+-
 Reporter:  Alex Vandiver|Owner:
 |  Hrushikesh Vaidya
 Type:  Bug  |   Status:  closed
Component:  File |  Version:  3.2
  uploads/storage|
 Severity:  Normal   |   Resolution:  fixed
 Keywords:   | Triage Stage:  Ready for
 |  checkin
Has patch:  1|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  1|UI/UX:  0
-+-

Comment (by Alex Vandiver):

 Understood.  Thanks!

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/064.4a3feeb0f5ce98dc09ff5fb0fe93a38d%40djangoproject.com.


Re: [Django] #33062: File upload crash when a file extension contains null characters.

2022-01-24 Thread Django
#33062: File upload crash when a file extension contains null characters.
-+-
 Reporter:  Alex Vandiver|Owner:
 |  Hrushikesh Vaidya
 Type:  Bug  |   Status:  closed
Component:  File |  Version:  3.2
  uploads/storage|
 Severity:  Normal   |   Resolution:  fixed
 Keywords:   | Triage Stage:  Ready for
 |  checkin
Has patch:  1|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  1|UI/UX:  0
-+-

Comment (by Mariusz Felisiak):

 Replying to [comment:11 Alex Vandiver]:
 > Thanks for the fix!  Do you intend to backport this to the 3.2 LTS
 series?

 The issue has been present since the feature was introduced. Per our
 backporting policy this means it doesn't qualify for a backport to 3.2.x
 or 4.0.x anymore. See [https://docs.djangoproject.com/en/stable/internals
 /release-process/ Django’s release process] for more details.

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/064.30bee849f4c18ba7c23cd5470927fb01%40djangoproject.com.


Re: [Django] #33062: File upload crash when a file extension contains null characters.

2022-01-24 Thread Django
#33062: File upload crash when a file extension contains null characters.
-+-
 Reporter:  Alex Vandiver|Owner:
 |  Hrushikesh Vaidya
 Type:  Bug  |   Status:  closed
Component:  File |  Version:  3.2
  uploads/storage|
 Severity:  Normal   |   Resolution:  fixed
 Keywords:   | Triage Stage:  Ready for
 |  checkin
Has patch:  1|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  1|UI/UX:  0
-+-

Comment (by Alex Vandiver):

 Thanks for the fix!  Do you intend to backport this to the 3.2 LTS series?

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/064.8ce128043571f76e7e22912e3226ff93%40djangoproject.com.


Re: [Django] #33460: Change SQLite backend to generate INSERT statements using VALUES instead of UNION.

2022-01-24 Thread Django
#33460: Change SQLite backend to generate INSERT statements using VALUES 
instead of
UNION.
-+-
 Reporter:  Keryn Knight |Owner:  Keryn
 Type:   |  Knight
  Cleanup/optimization   |   Status:  assigned
Component:  Database layer   |  Version:  dev
  (models, ORM)  |
 Severity:  Normal   |   Resolution:
 Keywords:  sqlite orm   | Triage Stage:  Accepted
  bulk_create batch  |
Has patch:  1|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-
Changes (by Mariusz Felisiak):

 * stage:  Unreviewed => Accepted


Comment:

 Thanks!

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/067.dd466743fa419accddda3338cf6f7f68%40djangoproject.com.


Re: [Django] #33169: Migrations crashes with long identifiers on MySQL (8.0.26 )

2022-01-24 Thread Django
#33169: Migrations crashes with long identifiers on MySQL (8.0.26 )
-+-
 Reporter:  Awais Qureshi|Owner:  nobody
 Type:  Bug  |   Status:  closed
Component:  Migrations   |  Version:  3.2
 Severity:  Normal   |   Resolution:  needsinfo
 Keywords:   | Triage Stage:
  django32,mysql8.0.26   |  Unreviewed
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-

Comment (by Awais Qureshi):

 It's not a django issue. as per mysql8.0
 [https://dev.mysql.com/doc/refman/8.0/en/identifier-length.html]

 `For constraint definitions that include no constraint name, the server
 internally generates a name derived from the associated table name. For
 example, internally generated foreign key and CHECK constraint names
 consist of the table name plus _ibfk_ or _chk_ and a number. If the table
 name is close to the length limit for constraint names, the additional
 characters required for the constraint name may cause that name to exceed
 the limit, resulting in an error.`

 My model is as follows

 class BlackboardLearnerAssessmentDataTransmissionAudit(models.Model):
 enterprise_course_enrollment_id = models.PositiveIntegerField(
 blank=False,
 null=False,
 db_index=True
 )

 In mysql8  it generate this query with a check
 `enterprise_cou_enrollment_id` integer UNSIGNED NOT NULL CHECK
 (`enterprise_cou_enrollment_id` >= 0) having this name
 `blackboard_blackboardlearnerassessmentdatatransmissionaudit_chk_1` ( 65
 characters ) and it throws the error.

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/066.03891fc5b67432d6ea9b68914742a5fa%40djangoproject.com.


[Django] #33460: Change SQLite backend to generate INSERT statements using VALUES instead of UNION.

2022-01-24 Thread Django
#33460: Change SQLite backend to generate INSERT statements using VALUES 
instead of
UNION.
-+-
   Reporter:  Keryn  |  Owner:  Keryn Knight
  Knight |
   Type: | Status:  assigned
  Cleanup/optimization   |
  Component:  Database   |Version:  dev
  layer (models, ORM)|   Keywords:  sqlite orm
   Severity:  Normal |  bulk_create batch
   Triage Stage: |  Has patch:  1
  Unreviewed |
Needs documentation:  0  |Needs tests:  0
Patch needs improvement:  0  |  Easy pickings:  0
  UI/UX:  0  |
-+-
 This is a ticket for tracking this
 [https://github.com/django/django/pull/15354 pre-emptive PR].

 Django's minimum supported version of SQLite is currently documented as
 3.9.

 Using `INSERT INTO ... VALUES (...)` instead of `INSERT INTO ... SELECT
 UNION ALL ...` for multiple rows (i.e. `bulk_create`) was added to SQLite
 in [http://www.sqlite.org/releaselog/3_7_11.html 3.7.11] released in 2012.

 [https://www.sqlite.org/releaselog/3_8_8.html SQLite 3.8.8], released in
 2015, further changed it so that `VALUES(...)` was not subject to the
 `SQLITE_LIMIT_COMPOUND_SELECT` value, which should subsequently allow for
 improvements in batch sizes (e.g. investigating changes to
 `django.db.backends.sqlite3.operations.DatabaseOperations.bulk_batch_size`
 and
 `django.db.backends.sqlite3.features.DatabaseFeatures.max_query_params`,
 the latter of which supports `32766 ` values instead of `999` as of
 [https://www.sqlite.org/releaselog/3_32_0.html 3.32.0])

 The documentation for current SQLite (3.37.2) says, of using
 `VALUES(...)`:

 > The phrase "VALUES(expr-list)" means the same thing as "SELECT expr-
 list". The phrase "VALUES(expr-list-1),...,(expr-list-N)" means the same
 thing as "SELECT expr-list-1 UNION ALL ... UNION ALL SELECT expr-list-N".
 Both forms are the same, except that the number of SELECT statements in a
 compound is limited by SQLITE_LIMIT_COMPOUND_SELECT whereas the number of
 rows in a VALUES clause has no arbitrary limit.
 > There are some restrictions on the use of a VALUES clause that are not
 shown on the syntax diagrams:
 > A VALUES clause cannot be followed by ORDER BY.
 > A VALUES clause cannot be followed by LIMIT.

 I have run the test suite against `3.37.2` and whatever the CI versions
 are (I've not checked) ... so far so good.

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/052.267f6d917e18c188dd60a63b4c5e7f48%40djangoproject.com.


Re: [Django] #33308: Add psycopg3 backend

2022-01-24 Thread Django
#33308: Add psycopg3 backend
-+-
 Reporter:  Paolo Melchiorre |Owner:  nobody
 Type:  New feature  |   Status:  new
Component:  Database layer   |  Version:  dev
  (models, ORM)  |
 Severity:  Normal   |   Resolution:
 Keywords:  database postgresql  | Triage Stage:  Accepted
  backend orm|
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-
Changes (by Michael P. Jung):

 * cc: Michael P. Jung (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 view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/067.5e51dead1bae70050cea57c33199bb1b%40djangoproject.com.


Re: [Django] #32338: Accessibility issues with Django forms RadioSelect and CheckboxSelectMultiple

2022-01-24 Thread Django
#32338: Accessibility issues with Django forms RadioSelect and
CheckboxSelectMultiple
-+-
 Reporter:  Thibaud Colas|Owner:  David
 |  Smith
 Type:  Bug  |   Status:  assigned
Component:  Forms|  Version:  dev
 Severity:  Normal   |   Resolution:
 Keywords:  accessibility,   | Triage Stage:  Accepted
  forms, wcag|
Has patch:  1|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  1
Easy pickings:  0|UI/UX:  1
-+-
Changes (by Mariusz Felisiak):

 * 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 view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/070.13e665ecf16c969a2103ca0b8e15f1c3%40djangoproject.com.


Re: [Django] #29984: Support prefetch_related() with Queryset.iterator()

2022-01-24 Thread Django
#29984: Support prefetch_related() with Queryset.iterator()
-+-
 Reporter:  Taylor H |Owner:  Jacob
 |  Walls
 Type:  New feature  |   Status:  assigned
Component:  Database layer   |  Version:  dev
  (models, ORM)  |
 Severity:  Normal   |   Resolution:
 Keywords:   | Triage Stage:  Ready for
 |  checkin
Has patch:  1|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-
Changes (by Mariusz Felisiak):

 * stage:  Accepted => Ready for checkin


-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/070.fe2311b086d7102d4566cb655edf482a%40djangoproject.com.


Re: [Django] #33459: Explain how to optimize full text search with SearchVectorField and GinIndex

2022-01-24 Thread Django
#33459: Explain how to optimize full text search with SearchVectorField and
GinIndex
-+-
 Reporter:  Thomas Aglassinger   |Owner:  nobody
 Type:   |   Status:  closed
  Cleanup/optimization   |
Component:  Documentation|  Version:  4.0
 Severity:  Normal   |   Resolution:  wontfix
 Keywords:  postgres | Triage Stage:
 |  Unreviewed
Has patch:  1|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-

Comment (by Mariusz Felisiak):

 > The difference with full text search is that you cannot use the standard
 indexes but have to use the particular `GinIndex` or` GistIndex` only
 provided by postgres.

 We could clarify this with a small diff, e.g.:
 {{{#!diff
 diff --git a/docs/ref/contrib/postgres/search.txt
 b/docs/ref/contrib/postgres/search.txt
 index cfed877d9c..4304d47552 100644
 --- a/docs/ref/contrib/postgres/search.txt
 +++ b/docs/ref/contrib/postgres/search.txt
 @@ -255,8 +255,10 @@ run into performance problems. Full text search is a
 more intensive process
  than comparing the size of an integer, for example.

  In the event that all the fields you're querying on are contained within
 one
 -particular model, you can create a functional index which matches the
 search
 -vector you wish to use. The PostgreSQL documentation has details on
 +particular model, you can create a functional
 +:class:`GIN ` or
 +:class:`GiST ` index which
 matches
 +the search vector you wish to use. The PostgreSQL documentation has
 details on
  `creating indexes for full text search
  `_.


 }}}

 > Also there is no real point using them with the text fields of your
 model, which I had intuitively assumed.

 It's already documented in the
 [https://docs.djangoproject.com/en/dev/ref/contrib/postgres/search/#performance
 Performance] section: ''"can create a functional index which **matches the
 search vector** you wish to use"''.

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/067.18d5ffce8c8334d4096579a33c8145f3%40djangoproject.com.