PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak dokonać porównania kanonicznego XML z PostgreSQL?

Brałem udział w implementacji typu XML w PostgreSQL i prawdopodobnie napisałem większość dokumentacji, którą cytujesz.

Jest wiele powodów, dla których obecnie tak jest:

  • Standard SQL nie określa operatora porównania dla typu xml .
  • W momencie rozpoczęcia implementacji kanoniczny XML nie był powszechnie używany i rozumiany (przynajmniej przez zaangażowane osoby).
  • Istnieją pewne ograniczenia, w których kanonizacja XML nie działa. Chociaż mogą one być rzadko spotykane w praktyce, doprowadziłoby to do sytuacji, w której niektóre wartości typu danych nie mogą być porównywane, co prowadziłoby na przykład do problemów z indeksowaniem. (Wartość NaN typów zmiennoprzecinkowych jest przypisywana do pozycji porządkowej z podobnych powodów.)
  • Nadal jest dyskusyjne, czy porównanie przez kanonizację jest odpowiednie dla wszystkich zastosowań i czego użytkownicy zawsze chcą.

Z pewnością mile widziana byłaby implementacja funkcji kanonizacji XML do opcjonalnego użytku. Właściwie chciałbym zobaczyć oddzielny xmlcanonical typ, ale wymagałoby to trochę więcej pracy.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SET extra_float_digits =3 w postgresql

  2. UUID Postgresql obsługiwany przez Hibernate?

  3. Ogólne rozwiązanie Ruby dla SQLite3 LIKE czy PostgreSQL ILIKE?

  4. Sprawdź, czy w tablicy Postgres istnieje NULL

  5. Błąd uwierzytelnienia hasła podczas uruchamiania migracji laravel