GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • SphinxQL Query Builder Documentation

This view

  • Original page
  • New address

GeezerVison is showing foolcode.github.io — Migrating to 4.0 - SphinxQL Query Builder Documentation

Migrating to 4.0¶

This page summarizes migration from the 3.x line to 4.0.

Baseline Requirements¶

  • PHP 8.2+

  • mysqli or pdo_mysql extension

Key Behavioral Changes¶

4.0 introduces stricter runtime validation. Invalid query-shape input now throws Foolz\\SphinxQL\\Exception\\SphinxQLException instead of being coerced.

Builder validation highlights:

  • unknown setType() values

  • compile() without selecting a query type

  • invalid from() input

  • invalid facet() payload type

  • invalid orderBy() / withinGroupOrderBy() direction

  • invalid limit() / offset() / groupNBy() values

  • invalid IN/NOT IN/BETWEEN value shapes

  • missing into($index) for update() before compile/execute

Facet validation highlights:

  • empty facet()

  • empty function/params in facetFunction() and orderByFunction()

  • invalid direction

  • invalid limit() / offset() values

Helper validation highlights:

  • required identifiers must be non-empty strings

  • stricter setVariable() and CALL option validation

  • helper feature-gated methods can raise UnsupportedFeatureException

Percolate validation highlights:

  • stricter payload checks for documents() and options

  • earlier failure for unsupported/invalid document shapes

Exception Message Prefixes¶

Driver exceptions now include explicit source prefixes, for example:

  • [mysqli][connect]...

  • [mysqli][query]...

  • [pdo][connect]...

  • [pdo][query]...

Migration Checklist¶

  1. Validate user input before passing values to builder/helper methods.

  2. Replace implicit coercion assumptions with explicit casting in your app layer.

  3. Prefer exception class checks over full-message string equality checks.

  4. Run integration tests against your target backend (Sphinx 2, Sphinx 3, or Manticore).

  5. Add capability checks (supports()) for backend-specific helper calls.

Repository Source¶

The canonical migration checklist also exists in MIGRATING-4.0.md at repository root.

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.