sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvordan laver man XML-kanonisk sammenligning med PostgreSQL?

Jeg bidrog til implementeringen af ​​XML-typen i PostgreSQL og skrev sandsynligvis det meste af den dokumentation, du citerer.

Der er en række grunde til, at det er sådan, det er i øjeblikket:

  • SQL-standarden angiver ingen sammenligningsoperator for typen xml .
  • På det tidspunkt, hvor implementeringen blev startet, var Canonical XML ikke udbredt og forstået (i det mindste af de involverede personer, velsagtens).
  • Der er visse begrænsninger, hvor XML-kanonisering ikke virker. Selvom disse måske sjældent ses i praksis, ville dette give den situation, hvor nogle værdier af en datatype ikke kan sammenlignes, hvilket vil føre til problemer med f.eks. indeksering. (NaN-værdien for flydende kommatyper tildeles en bestillingsposition af lignende årsager.)
  • Det kan stadig diskuteres, om sammenligning ved kanonisering er passende for alle anvendelser, og hvad brugerne altid ønsker.

En implementering af en XML-kanoniseringsfunktion til valgfri brug ville bestemt være velkommen. Jeg vil faktisk gerne se en separat xmlcanonical type, men det ville være en del mere arbejde.




  1. Konverter dato til MYSQL datoformat

  2. App stoppede med at fungere på grund af database

  3. Valg af sidste post fra INNER JOIN og gruppering

  4. jboss-databaseforbindelse timeout, når inaktiv i Oracle