Reglas de delegación: cláusula WHERE

La cláusula WHERE es la primera cláusula en una consulta SQL que se va a evaluar para la delegación en el proveedor de fuente de datos. Si la cláusula WHERE no se puede delegar, entonces el resto de la consulta no se puede delegar.

Spectrum Spatial delega al proveedor de fuente de datos todos los operadores que el proveedor de fuentes de datos admite con énfasis en los operadores espaciales. Las siguientes reglas se aplican a la cláusula WHERE para determinar lo que se puede delegar en el proveedor de fuente de datos:

  1. Solo los operadores booleanos pueden delegarse a un proveedor de fuente de datos. Las funciones booleanas no se pueden delegar.
  2. Los operadores booleanos deben ser de la siguiente forma: <column> operator <constant>. Si la consulta de entrada se escribe como <constant> operator <column> y el operador tiene un operador inverso, la consulta puede reformularse como<column> <inverse operator> <constant> para cumplir con esta regla.
  3. Si la cláusula WHERE contiene un operador AND y el proveedor de datos admite AND, y el proveedor de datos admite operadores espaciales mixtos y operadores no espaciales, entonces se delegan todos los operadores que admite el proveedor de datos. Spectrum Spatial maneja todo aquello que no admita el proveedor de fuente de datos.
  4. Si la cláusula WHERE contiene un operador AND y el proveedor de datos admite AND, y el proveedor de datos no admite operadores espaciales mixtos y operadores no espaciales, solo se delegan los operadores espaciales que admite el proveedor de datos. Spectrum Spatial evalúa los restantes.
  5. Si la cláusula WHERE contiene un operador AND y el proveedor de datos admite AND, y la cláusula WHERE contiene únicamente operadores no espaciales, entonces se delegan los operadores que admite el proveedor de datos.
  6. Si la cláusula WHERE contiene un operador AND y el proveedor de datos no admite AND, entonces se califican todos los operadores y se delega aquel con la calificación más alta. Los operadores espaciales tienen una calificación superior a la de los operadores no espaciales. Consulte Cómo se valoran las operaciones AND.
  7. Si la cláusula WHERE contiene OR o NOT, y el proveedor de datos admite OR y NOT y todos los operadores, toda la consulta se delega al proveedor de fuente de datos. No existe delegación parcial como en el caso del operador AND.