diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/xml_1.out C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/xml.out
--- C:/cirrus/src/test/regress/expected/xml_1.out 2026-01-14 01:41:10.158017900 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/xml.out 2026-01-14 01:48:38.142261600 +0000
@@ -1496,3 +1496,272 @@
LINE 1: SELECT xmltext('x'|| '
73
'::xml || .42 || true || 'j':...
^
DETAIL: This functionality requires the server to be built with libxml support.
+CREATE XMLSCHEMA person_schema AS '
+
+
+
+
+
+
+
+
+
+';
+ERROR: xmlschema support requires libxml
+CREATE XMLSCHEMA IF NOT EXISTS person_schema AS '
+
+
+';
+ERROR: xmlschema support requires libxml
+CREATE XMLSCHEMA person_schema AS '
+
+
+';
+ERROR: xmlschema support requires libxml
+CREATE SCHEMA test_xmlschema_ns;
+CREATE XMLSCHEMA test_xmlschema_ns.product_schema AS '
+
+
+
+
+
+
+
+
+
+
+';
+ERROR: xmlschema support requires libxml
+CREATE XMLSCHEMA bad_schema AS '';
+ERROR: xmlschema support requires libxml
+CREATE XMLSCHEMA bad_xml_schema AS 'not even xml';
+ERROR: xmlschema support requires libxml
+CREATE XMLSCHEMA book_schema AS '
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+';
+ERROR: xmlschema support requires libxml
+SELECT XMLVALIDATE(DOCUMENT 'John30'
+ ACCORDING TO XMLSCHEMA person_schema);
+ERROR: XML schema "person_schema" does not exist
+SELECT XMLVALIDATE(DOCUMENT 'Widget9.99'
+ ACCORDING TO XMLSCHEMA test_xmlschema_ns.product_schema);
+ERROR: XML schema "test_xmlschema_ns.product_schema" does not exist
+SELECT XMLVALIDATE(DOCUMENT
+ '
+ PostgreSQL Internals
+ JohnTitor
+ Jane
+ 2024
+ '
+ ACCORDING TO XMLSCHEMA book_schema);
+ERROR: XML schema "book_schema" does not exist
+SELECT XMLSERIALIZE(DOCUMENT
+ XMLVALIDATE(DOCUMENT 'Alice25'
+ ACCORDING TO XMLSCHEMA person_schema) AS text);
+ERROR: XML schema "person_schema" does not exist
+SELECT XMLVALIDATE(DOCUMENT NULL ACCORDING TO XMLSCHEMA person_schema);
+ERROR: XML schema "person_schema" does not exist
+SELECT XMLVALIDATE(DOCUMENT NULL ACCORDING TO XMLSCHEMA person_schema) IS NULL AS is_null;
+ERROR: XML schema "person_schema" does not exist
+SELECT XMLVALIDATE(DOCUMENT 'John'
+ ACCORDING TO XMLSCHEMA person_schema);
+ERROR: XML schema "person_schema" does not exist
+SELECT XMLVALIDATE(DOCUMENT 'Johnnot-a-number'
+ ACCORDING TO XMLSCHEMA person_schema);
+ERROR: XML schema "person_schema" does not exist
+SELECT XMLVALIDATE(DOCUMENT 'Widget9.99'
+ ACCORDING TO XMLSCHEMA test_xmlschema_ns.product_schema);
+ERROR: XML schema "test_xmlschema_ns.product_schema" does not exist
+SELECT XMLVALIDATE(DOCUMENT 'John30data'
+ ACCORDING TO XMLSCHEMA person_schema);
+ERROR: XML schema "person_schema" does not exist
+SELECT XMLVALIDATE(DOCUMENT 'John30'
+ ACCORDING TO XMLSCHEMA person_schema);
+ERROR: XML schema "person_schema" does not exist
+SELECT XMLVALIDATE(DOCUMENT 'value'
+ ACCORDING TO XMLSCHEMA nonexistent_schema);
+ERROR: XML schema "nonexistent_schema" does not exist
+CREATE VIEW validated_people AS
+ SELECT XMLVALIDATE(DOCUMENT data ACCORDING TO XMLSCHEMA person_schema) AS validated_xml
+ FROM xmltest WHERE id = 1;
+ERROR: XML schema "person_schema" does not exist
+SELECT pg_get_viewdef('validated_people'::regclass, true);
+ERROR: relation "validated_people" does not exist
+LINE 1: SELECT pg_get_viewdef('validated_people'::regclass, true);
+ ^
+DROP VIEW validated_people;
+ERROR: view "validated_people" does not exist
+CREATE VIEW validated_products AS
+ SELECT XMLVALIDATE(DOCUMENT 'Test1.99'
+ ACCORDING TO XMLSCHEMA test_xmlschema_ns.product_schema) AS validated_xml;
+ERROR: XML schema "test_xmlschema_ns.product_schema" does not exist
+SELECT pg_get_viewdef('validated_products'::regclass, true);
+ERROR: relation "validated_products" does not exist
+LINE 1: SELECT pg_get_viewdef('validated_products'::regclass, true);
+ ^
+DROP VIEW validated_products;
+ERROR: view "validated_products" does not exist
+ALTER XMLSCHEMA book_schema RENAME TO library_book_schema;
+ERROR: XML schema "book_schema" does not exist
+SELECT XMLVALIDATE(DOCUMENT 'TestAB2024'
+ ACCORDING TO XMLSCHEMA book_schema);
+ERROR: XML schema "book_schema" does not exist
+SELECT XMLVALIDATE(DOCUMENT 'TestAB2024'
+ ACCORDING TO XMLSCHEMA library_book_schema);
+ERROR: XML schema "library_book_schema" does not exist
+ALTER XMLSCHEMA library_book_schema SET SCHEMA test_xmlschema_ns;
+ERROR: XML schema "library_book_schema" does not exist
+SELECT XMLVALIDATE(DOCUMENT 'TestAB2024'
+ ACCORDING TO XMLSCHEMA library_book_schema);
+ERROR: XML schema "library_book_schema" does not exist
+SELECT XMLVALIDATE(DOCUMENT 'TestAB2024'
+ ACCORDING TO XMLSCHEMA test_xmlschema_ns.library_book_schema);
+ERROR: XML schema "test_xmlschema_ns.library_book_schema" does not exist
+CREATE ROLE regress_xmlschema_test_role;
+ALTER XMLSCHEMA test_xmlschema_ns.library_book_schema OWNER TO regress_xmlschema_test_role;
+ERROR: XML schema "test_xmlschema_ns.library_book_schema" does not exist
+SELECT schemaname, schemanamespace::regnamespace, schemaowner::regrole
+FROM pg_xmlschema
+WHERE schemaname = 'library_book_schema';
+ schemaname | schemanamespace | schemaowner
+------------+-----------------+-------------
+(0 rows)
+
+CREATE VIEW book_view AS
+ SELECT XMLVALIDATE(DOCUMENT 'Dep TestXY2025'
+ ACCORDING TO XMLSCHEMA test_xmlschema_ns.library_book_schema) AS validated_book;
+ERROR: XML schema "test_xmlschema_ns.library_book_schema" does not exist
+DROP XMLSCHEMA test_xmlschema_ns.library_book_schema;
+ERROR: XML schema "test_xmlschema_ns.library_book_schema" does not exist
+DROP XMLSCHEMA test_xmlschema_ns.library_book_schema CASCADE;
+ERROR: XML schema "test_xmlschema_ns.library_book_schema" does not exist
+SELECT * FROM book_view;
+ERROR: relation "book_view" does not exist
+LINE 1: SELECT * FROM book_view;
+ ^
+DROP XMLSCHEMA person_schema;
+ERROR: XML schema "person_schema" does not exist
+DROP XMLSCHEMA IF EXISTS person_schema;
+NOTICE: XML schema "person_schema" does not exist, skipping
+DROP XMLSCHEMA person_schema;
+ERROR: XML schema "person_schema" does not exist
+DROP XMLSCHEMA test_xmlschema_ns.product_schema;
+ERROR: XML schema "test_xmlschema_ns.product_schema" does not exist
+SET ROLE regress_xmlschema_test_role;
+CREATE XMLSCHEMA public.should_fail_schema AS '
+
+
+';
+ERROR: xmlschema support requires libxml
+RESET ROLE;
+GRANT CREATE ON SCHEMA test_xmlschema_ns TO regress_xmlschema_test_role;
+SET ROLE regress_xmlschema_test_role;
+CREATE XMLSCHEMA test_xmlschema_ns.role_schema AS '
+
+
+';
+ERROR: xmlschema support requires libxml
+RESET ROLE;
+DROP XMLSCHEMA test_xmlschema_ns.role_schema;
+ERROR: XML schema "test_xmlschema_ns.role_schema" does not exist
+DROP ROLE regress_xmlschema_test_role;
+ERROR: role "regress_xmlschema_test_role" cannot be dropped because some objects depend on it
+DETAIL: privileges for schema test_xmlschema_ns
+DROP SCHEMA test_xmlschema_ns CASCADE;
+CREATE ROLE regress_xmlschema_user1;
+CREATE ROLE regress_xmlschema_user2;
+CREATE XMLSCHEMA permission_test_schema AS '
+
+
+';
+ERROR: xmlschema support requires libxml
+SET ROLE regress_xmlschema_user1;
+SELECT XMLVALIDATE(DOCUMENT 'data'
+ ACCORDING TO XMLSCHEMA permission_test_schema);
+ERROR: XML schema "permission_test_schema" does not exist
+RESET ROLE;
+GRANT USAGE ON XMLSCHEMA permission_test_schema TO regress_xmlschema_user1;
+ERROR: XML schema "permission_test_schema" does not exist
+SET ROLE regress_xmlschema_user1;
+SELECT XMLVALIDATE(DOCUMENT 'data'
+ ACCORDING TO XMLSCHEMA permission_test_schema);
+ERROR: XML schema "permission_test_schema" does not exist
+RESET ROLE;
+SET ROLE regress_xmlschema_user2;
+SELECT XMLVALIDATE(DOCUMENT 'data'
+ ACCORDING TO XMLSCHEMA permission_test_schema);
+ERROR: XML schema "permission_test_schema" does not exist
+RESET ROLE;
+GRANT USAGE ON XMLSCHEMA permission_test_schema TO regress_xmlschema_user2;
+ERROR: XML schema "permission_test_schema" does not exist
+SET ROLE regress_xmlschema_user2;
+SELECT XMLVALIDATE(DOCUMENT 'data'
+ ACCORDING TO XMLSCHEMA permission_test_schema);
+ERROR: XML schema "permission_test_schema" does not exist
+RESET ROLE;
+REVOKE USAGE ON XMLSCHEMA permission_test_schema FROM regress_xmlschema_user1;
+ERROR: XML schema "permission_test_schema" does not exist
+SET ROLE regress_xmlschema_user1;
+SELECT XMLVALIDATE(DOCUMENT 'data'
+ ACCORDING TO XMLSCHEMA permission_test_schema);
+ERROR: XML schema "permission_test_schema" does not exist
+RESET ROLE;
+DROP XMLSCHEMA permission_test_schema;
+ERROR: XML schema "permission_test_schema" does not exist
+DROP ROLE regress_xmlschema_user1;
+DROP ROLE regress_xmlschema_user2;
+CREATE TABLE validated_xml_data (
+ id serial PRIMARY KEY,
+ data xml
+);
+CREATE XMLSCHEMA data_schema AS '
+
+
+
+
+
+
+
+
+';
+ERROR: xmlschema support requires libxml
+INSERT INTO validated_xml_data (data)
+VALUES (XMLVALIDATE(DOCUMENT '42'
+ ACCORDING TO XMLSCHEMA data_schema));
+ERROR: XML schema "data_schema" does not exist
+INSERT INTO validated_xml_data (data)
+VALUES (XMLVALIDATE(DOCUMENT '100'
+ ACCORDING TO XMLSCHEMA data_schema));
+ERROR: XML schema "data_schema" does not exist
+SELECT id, data FROM validated_xml_data ORDER BY id;
+ id | data
+----+------
+(0 rows)
+
+INSERT INTO validated_xml_data (data)
+VALUES (XMLVALIDATE(DOCUMENT 'not-an-int'
+ ACCORDING TO XMLSCHEMA data_schema));
+ERROR: XML schema "data_schema" does not exist
+DROP TABLE validated_xml_data;
+DROP XMLSCHEMA data_schema;
+ERROR: XML schema "data_schema" does not exist
+DROP XMLSCHEMA should_fail_schema;
+ERROR: XML schema "should_fail_schema" does not exist
+DROP ROLE regress_xmlschema_test_role;