sequential-hydration.td 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. # Copyright Materialize, Inc. and contributors. All rights reserved.
  2. #
  3. # Use of this software is governed by the Business Source License
  4. # included in the LICENSE file at the root of this repository.
  5. #
  6. # As of the Change Date specified in that file, in accordance with
  7. # the Business Source License, use of this software will be governed
  8. # by the Apache License, Version 2.0.
  9. # Tests for sequential dataflow hydration in Compute.
  10. # Test that dataflows that are unable to hydrate because their source data is
  11. # not yet available don't block hydration of other dataflows.
  12. $ postgres-execute connection=postgres://mz_system:materialize@${testdrive.materialize-internal-sql-addr}
  13. ALTER SYSTEM SET compute_hydration_concurrency = 1;
  14. > CREATE CLUSTER source1 SIZE '1', REPLICATION FACTOR 0
  15. > CREATE CLUSTER source2 SIZE '1', REPLICATION FACTOR 0
  16. > CREATE CLUSTER source3 SIZE '1', REPLICATION FACTOR 1
  17. > CREATE TABLE t (a int);
  18. > CREATE MATERIALIZED VIEW mv1 IN CLUSTER source1 AS SELECT * FROM t
  19. > CREATE MATERIALIZED VIEW mv2 IN CLUSTER source2 AS SELECT * FROM t
  20. > CREATE MATERIALIZED VIEW mv3 IN CLUSTER source3 AS SELECT * FROM t
  21. > CREATE INDEX idx1 ON mv1 (a)
  22. > SELECT DISTINCT name, hydrated
  23. FROM mz_internal.mz_hydration_statuses
  24. JOIN mz_indexes ON (id = object_id)
  25. WHERE id LIKE 'u%'
  26. idx1 false
  27. > CREATE VIEW v12 AS SELECT * FROM mv1 JOIN mv2 USING (a)
  28. > CREATE INDEX idx12 ON v12 (a)
  29. > SELECT DISTINCT name, hydrated
  30. FROM mz_internal.mz_hydration_statuses
  31. JOIN mz_indexes ON (id = object_id)
  32. WHERE id LIKE 'u%'
  33. idx1 false
  34. idx12 false
  35. > CREATE INDEX idx3 ON mv3 (a)
  36. > SELECT DISTINCT name, hydrated
  37. FROM mz_internal.mz_hydration_statuses
  38. JOIN mz_indexes ON (id = object_id)
  39. WHERE id LIKE 'u%'
  40. idx1 false
  41. idx12 false
  42. idx3 true
  43. > ALTER CLUSTER source1 SET (REPLICATION FACTOR 1)
  44. > SELECT DISTINCT name, hydrated
  45. FROM mz_internal.mz_hydration_statuses
  46. JOIN mz_indexes ON (id = object_id)
  47. WHERE id LIKE 'u%'
  48. idx1 true
  49. idx12 false
  50. idx3 true
  51. > ALTER CLUSTER source2 SET (REPLICATION FACTOR 1)
  52. > SELECT DISTINCT name, hydrated
  53. FROM mz_internal.mz_hydration_statuses
  54. JOIN mz_indexes ON (id = object_id)
  55. WHERE id LIKE 'u%'
  56. idx1 true
  57. idx12 true
  58. idx3 true