# Creando un plugin para anular QUERY\_RESULT\_MAX\_LIMIT

**URL:** https://meta.discourse.org/t/creating-a-plugin-to-override-query-result-max-limit/241942
**Category:** Development
**Tags:** data-explorer
**Created:** [14 Octubre, 2022 16:41 UTC](https://meta.discourse.org/t/creating-a-plugin-to-override-query-result-max-limit/241942 "2022-10-14T16:41:17Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![tkrunning](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tkrunning/32/119481_2.png) [@tkrunning](https://meta.discourse.org/u/tkrunning)
#### Post date: [14 Octubre, 2022 16:41 UTC](https://meta.discourse.org/t/creating-a-plugin-to-override-query-result-max-limit/241942/1 "2022-10-14T16:41:17Z")

</div>

Intenté ingenuamente crear un plugin (algo que nunca había hecho, aparte de repasar el tutorial de plugins hace algunos años) para anular los límites establecidos en el módulo DataExplorer, sin embargo, no estoy logrando que funcione.

¿Voy por buen camino o es un enfoque completamente erróneo?

> <https://github.com/tkrunning/x-discourse-data-explorer-max/blob/master/plugin.rb>

Nota: Estoy estableciendo `QUERY_RESULT_DEFAULT_LIMIT` en `1` para que sea más fácil probar si los límites personalizados están teniendo efecto.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [17 Octubre, 2022 06:44 UTC](https://meta.discourse.org/t/creating-a-plugin-to-override-query-result-max-limit/241942/2 "2022-10-17T06:44:47Z")

</div>

No recomiendo un plugin aquí.

En su lugar, envía una PR para añadir un GlobalSetting (que está respaldado por el entorno).

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [5 Diciembre, 2024 14:38 UTC](https://meta.discourse.org/t/creating-a-plugin-to-override-query-result-max-limit/241942/3 "2024-12-05T14:38:26Z")

</div>

Aparentemente, esto no ha sido una alta prioridad para nadie en los últimos 2 años, pero lo necesitaba hoy y lo resolví editando el archivo manualmente dentro del contenedor.

Una solución alternativa es algo como lo siguiente en `app.yml`:

```plaintext
  after_bundle_exec:
   - replace:
        filename: "/var/www/discourse/plugins/discourse-data-explorer/plugin.rb"
        from: /QUERY_RESULT_MAX_LIMIT = 10_000/
        to: QUERY_RESULT_MAX_LIMIT = 100_000

```

Pero parece que la PR sería algo como agregar esto a `plugin.rb`:

```plaintext
GlobalSetting.add_default(:query_result_max_limit, 10000)

```

y luego cambiar el módulo anterior a algo como

```plaintext
  QUERY_RESULT_MAX_LIMIT = GlobalSetting.query_result_max_limit || 10_000

```

¿Sería todo lo que se necesitaría?

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [5 Diciembre, 2024 20:17 UTC](https://meta.discourse.org/t/creating-a-plugin-to-override-query-result-max-limit/241942/4 "2024-12-05T20:17:01Z")

</div>

Cerrar…

Dejaría de usar la constante y, en su lugar, usaría GlobalSetting.query\_result\_max\_limit en todas partes; ya está configurando un valor predeterminado, ¿por qué configurarlo dos veces?

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [5 Diciembre, 2024 21:18 UTC](https://meta.discourse.org/t/creating-a-plugin-to-override-query-result-max-limit/241942/5 "2024-12-05T21:18:34Z")

</div>

> [@sam](#):
>
> ya estás configurando un valor predeterminado, ¿por qué configurarlo dos veces?

Pero tiene que haber un valor predeterminado si **no** establecen el GlobalSetting?

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [5 Diciembre, 2024 21:20 UTC](https://meta.discourse.org/t/creating-a-plugin-to-override-query-result-max-limit/241942/6 "2024-12-05T21:20:06Z")

</div>

Lo configuras en `plugin.rb`

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [5 Diciembre, 2024 21:24 UTC](https://meta.discourse.org/t/creating-a-plugin-to-override-query-result-max-limit/241942/7 "2024-12-05T21:24:31Z")

</div>

> [@sam](#):
>
> Lo estableces en `plugin.rb`

OHHHHHH. Supongo que “add\_default” sí añade un valor predeterminado. 🤷

Ups.

> [@pfaffman](#):
>
> ```plaintext
> GlobalSetting.add_default(:query_result_max_limit, 10000)
> 
> ```

Así que añade el GlobalSetting predeterminado y reemplaza todas las referencias a la constante antigua con el GlobalSetting.

Entendido.

Veré qué puedo hacer.
