generated-columns.td 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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. $ set-sql-timeout duration=1s
  10. #
  11. # Generated columns
  12. #
  13. > CREATE SECRET mysqlpass AS '${arg.mysql-root-password}'
  14. > CREATE CONNECTION mysql_conn TO MYSQL (
  15. HOST mysql,
  16. USER root,
  17. PASSWORD SECRET mysqlpass
  18. )
  19. $ mysql-connect name=mysql url=mysql://root@mysql password=${arg.mysql-root-password}
  20. $ mysql-execute name=mysql
  21. DROP DATABASE IF EXISTS public;
  22. CREATE DATABASE public;
  23. USE public;
  24. CREATE TABLE t1 (f1 INT, f2 INT, gf3 INT GENERATED ALWAYS AS (f1 * 100) VIRTUAL, gf4 INT GENERATED ALWAYS AS (f1 * f2) STORED);
  25. INSERT INTO t1 (f1, f2) VALUES (10, 20);
  26. > CREATE SOURCE mz_source
  27. FROM MYSQL CONNECTION mysql_conn
  28. FOR ALL TABLES;
  29. > SELECT * FROM t1;
  30. 10 20 1000 200
  31. $ mysql-execute name=mysql
  32. UPDATE t1 SET f1 = 55;
  33. > SELECT * FROM t1;
  34. 55 20 5500 1100