sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur gör man XML-kanonisk jämförelse med PostgreSQL?

Jag bidrog till implementeringen av XML-typ i PostgreSQL och skrev förmodligen det mesta av dokumentationen du citerar.

Det finns ett antal anledningar till att det är som det är för närvarande:

  • SQL-standarden anger ingen jämförelseoperator för typen xml .
  • När implementeringen startade användes och förstods inte kanonisk XML (åtminstone av de inblandade, utan tvekan).
  • Det finns vissa begränsningar där XML-kanonisering inte fungerar. Även om dessa kanske sällan ses i praktiken, skulle detta leda till situationen där vissa värden av en datatyp inte kan jämföras, vilket skulle leda till problem med indexering till exempel. (NaN-värdet för flyttalstyper tilldelas en beställningsposition av liknande skäl.)
  • Det är fortfarande diskutabelt om jämförelse med kanonisering är lämplig för alla användningsområden och vad användarna alltid vill ha.

En implementering av en XML-kanoniseringsfunktion för valfri användning skulle verkligen vara välkommen. Jag skulle faktiskt vilja se en separat xmlcanonical typ, men det skulle vara lite mer jobb.




  1. Vet hur man återställer raderad tabell i SQL Server 2012 utan säkerhetskopiering

  2. Oracle BLOB-extraktion mycket långsam

  3. Unik begränsning utan index

  4. Förstå kartesiska produkter i SQL