ThearchyHelios
53d510357a
ENUM / SET 只认 MySQL 带括号的写法;PostgreSQL 的域记底下的类型
复核发现(C-enum-prefix-match):类型写法改成按方言编译以后,PostgreSQL 的枚举、域编译出来就是类型名本身,
而 _type_family、is_date_column、_is_enum 和码值检查里的 is_set 都按前缀 startswith(("ENUM", "SET")) 认:
- 叫 setup_status 的 PG 枚举被当成 MySQL 的 SET,列定义里这次没出现的取值不写进码值;
- 叫 settlement_amount 的数值域被认成文字,又被当成码值候选。
改法:
- catalog._MYSQL_ENUM 只认 ENUM( / SET((_mysql_enum_kind),四处都改用它;PG 的枚举一律靠探查记下的
enum_values 认(column_family、_is_enum 本来就看它)。
- is_date_column 加 enum_values 参数:有取值列表的不算日期列。PG 枚举的类型名里碰巧带 DATE(update_reason)
以前会被认成日期列;剖析这边(catalog_profile._is_date_column)已经传上。sqlcheck 里那一处归 W1-a,没动,
不传时行为和原来一样。
- 探查(introspect.type_text、_enum_values)遇到 PG 的域(DOMAIN)记它底下的类型(域套域一路往下找):域名
看不出存的是数字还是文字,名字里的词还会让类型大类、日期列、码值候选认错,模型照着写 SQL 也要知道底下是
NUMERIC(12, 2) 还是 DATE。套在域里的枚举照样记下取值列表。升级前存的是 str(类型) 即「DOMAIN」,同样认不出。
测试:test_profile_dialect_units 加以 set、enum 开头的 PG 类型名、带取值列表的 PG 枚举码值、DOMAIN 编译成底下
类型的单测;改动前 8 条失败。
2026-10-16 12:06:24 +08:00
..
2026-10-15 07:15:37 +08:00
2026-10-16 10:25:28 +08:00
2026-10-15 12:09:29 +08:00
2026-10-13 10:03:24 +08:00
2026-10-04 23:40:20 +08:00
2026-10-06 11:44:58 +08:00
2026-10-14 21:55:51 +08:00
2026-09-30 08:05:15 +08:00
2026-09-30 08:05:15 +08:00
2026-09-30 08:05:15 +08:00
2026-09-25 15:20:46 +08:00
2026-09-30 08:05:15 +08:00
2026-10-14 21:55:51 +08:00
2026-10-14 21:55:51 +08:00
2026-10-15 12:09:29 +08:00
2026-10-14 21:55:51 +08:00
2026-10-15 07:15:37 +08:00
2026-10-15 08:35:28 +08:00
2026-10-15 07:15:37 +08:00
2026-10-14 21:55:51 +08:00
2026-10-15 08:35:28 +08:00
2026-10-15 12:09:29 +08:00
2026-10-15 13:55:19 +08:00
2026-10-15 08:35:28 +08:00
2026-09-29 05:26:34 +08:00
2026-10-04 12:03:14 +08:00
2026-09-30 08:05:15 +08:00
2026-10-15 08:35:28 +08:00
2026-10-15 07:15:37 +08:00
2026-10-14 20:05:23 +08:00
2026-09-30 08:05:15 +08:00
2026-09-30 08:05:15 +08:00
2026-09-30 08:05:15 +08:00
2026-10-15 14:32:25 +08:00
2026-10-15 13:55:19 +08:00
2026-10-15 17:31:20 +08:00
2026-10-15 13:55:19 +08:00
2026-10-15 13:55:19 +08:00
2026-10-15 13:55:19 +08:00
2026-10-15 13:55:19 +08:00
2026-09-30 09:48:16 +08:00
2026-10-12 17:23:27 +08:00
2026-10-13 10:03:24 +08:00
2026-10-12 17:23:27 +08:00
2026-10-12 19:09:50 +08:00
2026-10-06 19:21:23 +08:00
2026-10-12 19:09:50 +08:00
2026-10-12 23:01:09 +08:00
2026-09-17 18:29:16 +08:00
2026-10-14 22:08:33 +08:00
2026-10-15 14:44:26 +08:00
2026-10-14 21:55:51 +08:00
2026-10-04 02:19:26 +08:00
2026-10-14 15:38:15 +08:00
2026-10-14 09:59:19 +08:00
2026-10-16 10:25:28 +08:00
2026-10-14 14:07:14 +08:00
2026-10-14 22:17:00 +08:00
2026-10-13 20:30:02 +08:00
2026-10-14 20:05:23 +08:00
2026-10-13 20:30:02 +08:00
2026-10-14 15:38:15 +08:00
2026-10-15 19:43:29 +08:00
2026-10-16 10:25:28 +08:00
2026-10-16 12:02:41 +08:00
2026-10-04 01:07:15 +08:00
2026-10-14 16:11:04 +08:00
2026-10-04 02:00:17 +08:00
2026-10-14 09:51:49 +08:00
2026-10-03 11:09:09 +08:00
2026-10-14 20:05:23 +08:00
2026-10-16 12:02:41 +08:00
2026-10-04 02:19:26 +08:00
2026-10-03 12:14:17 +08:00
2026-10-14 16:11:04 +08:00
2026-10-07 01:09:36 +08:00
2026-10-14 20:05:23 +08:00
2026-10-12 15:55:19 +08:00
2026-09-29 11:10:53 +08:00
2026-09-30 08:05:15 +08:00
2026-09-24 23:15:19 +08:00
2026-10-06 16:42:29 +08:00
2026-10-05 16:41:59 +08:00
2026-10-05 16:41:59 +08:00
2026-09-30 08:05:15 +08:00
2026-09-30 08:05:15 +08:00
2026-09-30 08:05:15 +08:00
2026-09-30 08:05:15 +08:00
2026-10-06 19:51:29 +08:00
2026-09-30 10:04:52 +08:00
2026-10-15 13:55:19 +08:00
2026-09-28 02:42:40 +08:00
2026-10-14 21:55:51 +08:00
2026-10-14 20:05:23 +08:00
2026-10-04 11:07:40 +08:00
2026-10-15 13:55:19 +08:00
2026-10-05 15:08:53 +08:00
2026-10-04 11:10:28 +08:00
2026-10-14 20:05:23 +08:00
2026-09-29 11:10:53 +08:00
2026-09-30 08:05:15 +08:00
2026-10-15 12:09:29 +08:00
2026-10-14 20:05:23 +08:00
2026-10-14 20:05:23 +08:00
2026-09-30 08:05:15 +08:00
2026-10-14 20:05:23 +08:00
2026-09-27 10:16:32 +08:00
2026-10-14 20:05:23 +08:00
2026-10-15 17:31:20 +08:00
2026-09-25 15:41:30 +08:00
2026-10-15 14:59:40 +08:00
2026-09-30 18:05:33 +08:00
2026-10-16 11:09:39 +08:00
2026-09-27 10:16:32 +08:00
2026-09-30 08:05:15 +08:00
2026-10-05 00:26:04 +08:00
2026-09-27 23:37:32 +08:00
2026-09-30 08:05:15 +08:00
2026-10-02 07:38:44 +08:00
2026-10-02 14:38:10 +08:00
2026-10-05 15:54:03 +08:00
2026-10-05 15:54:03 +08:00
2026-10-14 15:38:15 +08:00
2026-10-07 01:34:59 +08:00
2026-10-15 07:15:37 +08:00
2026-10-12 12:24:14 +08:00
2026-10-06 18:03:12 +08:00
2026-09-18 09:39:24 +08:00
2026-10-15 07:15:37 +08:00
2026-10-01 13:42:04 +08:00
2026-09-28 11:47:23 +08:00
2026-09-30 08:05:15 +08:00
2026-10-06 12:02:03 +08:00
2026-09-30 08:05:15 +08:00
2026-09-30 08:05:15 +08:00
2026-10-06 12:58:37 +08:00
2026-10-06 12:58:37 +08:00
2026-09-29 05:26:34 +08:00
2026-09-29 05:26:34 +08:00
2026-09-30 08:05:15 +08:00
2026-10-12 13:50:31 +08:00
2026-10-12 17:23:27 +08:00
2026-10-12 13:50:31 +08:00
2026-10-12 17:23:27 +08:00
2026-10-12 10:48:19 +08:00
2026-10-04 02:35:33 +08:00
2026-09-30 08:05:15 +08:00
2026-09-30 08:05:15 +08:00
2026-10-12 12:24:14 +08:00
2026-09-30 15:03:31 +08:00
2026-10-01 13:42:04 +08:00
2026-09-30 08:05:15 +08:00
2026-10-06 11:37:22 +08:00
2026-10-01 13:42:04 +08:00
2026-09-30 08:05:15 +08:00
2026-10-04 11:02:06 +08:00
2026-09-25 14:33:56 +08:00
2026-10-15 13:55:19 +08:00
2026-10-02 07:38:44 +08:00
2026-10-15 13:55:19 +08:00
2026-09-30 08:05:15 +08:00
2026-09-30 10:04:52 +08:00
2026-09-30 08:05:15 +08:00
2026-09-27 10:16:32 +08:00
2026-09-30 08:05:15 +08:00
2026-09-27 10:16:32 +08:00
2026-10-12 15:55:19 +08:00
2026-10-07 01:09:36 +08:00
2026-10-06 22:52:28 +08:00
2026-10-12 15:55:19 +08:00
2026-10-05 01:18:03 +08:00
2026-10-01 13:42:04 +08:00
2026-10-03 09:30:50 +08:00
2026-09-28 11:47:23 +08:00
2026-09-28 11:47:23 +08:00
2026-10-05 18:45:59 +08:00
2026-09-25 15:30:32 +08:00
2026-09-29 16:07:19 +08:00
2026-10-12 13:50:31 +08:00
2026-10-02 14:38:10 +08:00
2026-09-30 10:04:52 +08:00
2026-09-30 10:04:52 +08:00
2026-09-30 10:04:52 +08:00
2026-10-06 12:58:37 +08:00
2026-10-06 14:30:15 +08:00
2026-09-27 10:16:32 +08:00
2026-09-28 11:47:45 +08:00
2026-09-25 12:47:07 +08:00
2026-09-30 08:05:15 +08:00
2026-10-14 20:05:23 +08:00
2026-09-30 08:05:15 +08:00
2026-09-30 08:05:15 +08:00
2026-10-12 10:48:19 +08:00
2026-10-12 10:48:19 +08:00
2026-10-07 01:09:36 +08:00
2026-10-12 13:14:36 +08:00
2026-10-06 19:11:14 +08:00
2026-10-06 21:50:48 +08:00
2026-10-12 10:50:40 +08:00
2026-10-13 16:59:58 +08:00
2026-10-12 12:18:34 +08:00
2026-10-07 01:09:36 +08:00
2026-10-14 20:05:23 +08:00
2026-10-04 01:08:42 +08:00
2026-10-04 02:17:32 +08:00
2026-10-03 09:36:20 +08:00
2026-10-03 10:40:47 +08:00
2026-09-28 11:47:23 +08:00
2026-10-15 07:15:37 +08:00
2026-10-05 03:26:43 +08:00
2026-10-15 07:15:37 +08:00
2026-09-30 11:19:25 +08:00
2026-10-06 14:29:48 +08:00
2026-09-30 08:05:15 +08:00
2026-10-01 13:42:04 +08:00
2026-09-25 23:14:50 +08:00
2026-09-30 08:05:15 +08:00
2026-10-14 20:05:23 +08:00
2026-10-04 12:27:38 +08:00
2026-10-02 07:38:44 +08:00
2026-10-15 13:55:19 +08:00
2026-10-15 12:09:29 +08:00
2026-10-15 07:15:37 +08:00
2026-10-15 07:15:37 +08:00
2026-10-14 22:08:33 +08:00
2026-10-14 22:08:33 +08:00
2026-10-16 12:02:41 +08:00
2026-10-16 12:06:24 +08:00
2026-10-02 14:38:10 +08:00
2026-10-02 14:38:10 +08:00
2026-10-03 09:36:20 +08:00
2026-10-02 14:38:10 +08:00
2026-10-12 10:17:40 +08:00
2026-10-02 14:38:10 +08:00
2026-10-06 19:43:44 +08:00
2026-10-06 19:43:44 +08:00
2026-10-06 17:29:18 +08:00
2026-10-06 19:43:44 +08:00
2026-10-06 19:43:44 +08:00
2026-09-30 08:05:15 +08:00
2026-10-15 17:31:20 +08:00
2026-10-04 02:52:43 +08:00
2026-09-28 21:20:04 +08:00
2026-09-30 08:05:15 +08:00
2026-09-25 14:44:56 +08:00
2026-10-02 07:38:44 +08:00
2026-10-02 07:38:44 +08:00
2026-10-02 07:38:44 +08:00
2026-10-01 22:00:07 +08:00
2026-10-01 22:00:07 +08:00
2026-10-02 07:38:44 +08:00
2026-10-02 07:38:44 +08:00
2026-10-02 07:38:44 +08:00
2026-10-16 11:16:33 +08:00
2026-10-02 07:38:44 +08:00
2026-10-01 22:00:07 +08:00
2026-10-02 07:38:44 +08:00
2026-10-02 14:38:10 +08:00
2026-10-02 07:38:44 +08:00
2026-10-16 11:16:33 +08:00
2026-10-16 11:16:33 +08:00
2026-10-02 07:38:44 +08:00
2026-10-02 07:38:44 +08:00
2026-10-02 07:38:44 +08:00
2026-10-01 22:00:07 +08:00
2026-10-16 11:09:39 +08:00
2026-10-02 07:38:44 +08:00
2026-10-16 11:09:39 +08:00
2026-10-16 11:16:33 +08:00
2026-10-02 07:38:44 +08:00
2026-10-16 11:09:39 +08:00
2026-10-16 11:09:39 +08:00
2026-10-16 11:09:39 +08:00
2026-10-16 11:09:39 +08:00
2026-10-05 18:50:34 +08:00
2026-10-06 09:20:09 +08:00
2026-10-15 13:55:19 +08:00
2026-10-14 20:05:23 +08:00
2026-10-04 11:28:23 +08:00
2026-10-04 12:28:07 +08:00
2026-09-30 08:05:15 +08:00
2026-09-30 08:05:15 +08:00
2026-10-04 11:33:09 +08:00
2026-10-12 14:26:43 +08:00
2026-10-13 10:04:30 +08:00
2026-10-10 12:59:21 +08:00
2026-10-06 13:32:38 +08:00
2026-09-30 10:04:52 +08:00
2026-10-12 13:50:31 +08:00
2026-10-12 23:01:09 +08:00
2026-10-12 12:33:32 +08:00
2026-10-12 23:01:09 +08:00
2026-10-12 23:01:09 +08:00
2026-10-12 19:09:50 +08:00
2026-10-12 17:23:27 +08:00
2026-10-12 13:50:31 +08:00
2026-10-12 17:23:27 +08:00
2026-09-30 15:03:31 +08:00
2026-09-30 08:05:15 +08:00
2026-10-04 02:24:49 +08:00
2026-10-04 02:33:15 +08:00
2026-09-30 08:05:15 +08:00
2026-10-06 09:31:00 +08:00
2026-09-30 08:05:15 +08:00
2026-10-05 01:18:03 +08:00
2026-10-05 18:45:59 +08:00
2026-10-06 14:32:30 +08:00
2026-09-26 23:11:31 +08:00
2026-10-14 22:08:33 +08:00
2026-10-05 00:07:07 +08:00
2026-09-30 08:05:15 +08:00
2026-09-30 08:05:15 +08:00
2026-09-30 08:05:15 +08:00
2026-10-14 20:05:23 +08:00
2026-09-27 10:16:32 +08:00
2026-10-14 20:05:23 +08:00
2026-10-14 21:55:51 +08:00
2026-10-04 01:52:24 +08:00
2026-09-27 23:37:32 +08:00
2026-10-07 00:02:15 +08:00
2026-10-06 08:48:56 +08:00
2026-10-06 16:42:29 +08:00
2026-10-05 08:50:57 +08:00
2026-10-05 08:37:57 +08:00
2026-10-15 07:15:37 +08:00
2026-10-05 18:39:10 +08:00
2026-10-06 08:48:56 +08:00
2026-10-06 08:48:56 +08:00
2026-10-15 07:15:37 +08:00
2026-09-30 08:05:15 +08:00
2026-10-15 12:09:29 +08:00
2026-10-05 08:37:57 +08:00
2026-09-25 16:05:14 +08:00
2026-10-02 07:38:44 +08:00
2026-10-06 08:10:41 +08:00
2026-09-29 05:26:34 +08:00
2026-09-25 14:44:56 +08:00
2026-10-07 01:34:59 +08:00
2026-10-07 01:34:59 +08:00
2026-10-04 02:19:26 +08:00
2026-10-01 13:42:04 +08:00
2026-09-30 08:05:15 +08:00
2026-09-30 08:05:15 +08:00
2026-10-02 07:38:44 +08:00
2026-10-02 07:38:44 +08:00
2026-10-02 07:38:44 +08:00
2026-10-02 07:38:44 +08:00
2026-10-02 07:38:44 +08:00
2026-10-01 22:00:07 +08:00
2026-10-14 21:55:51 +08:00
2026-09-30 08:05:15 +08:00
2026-09-26 23:11:31 +08:00
2026-10-15 07:15:37 +08:00
2026-09-28 21:20:04 +08:00
2026-09-18 17:57:20 +08:00
2026-10-07 00:02:15 +08:00
2026-10-14 20:05:23 +08:00
2026-10-15 07:15:37 +08:00
2026-10-14 21:55:51 +08:00
2026-09-30 08:05:15 +08:00
2026-09-30 08:05:15 +08:00
2026-10-03 11:09:09 +08:00
2026-09-30 08:05:15 +08:00
2026-09-30 08:05:15 +08:00
2026-10-15 13:55:19 +08:00
2026-09-27 10:16:32 +08:00
2026-09-30 08:05:15 +08:00
2026-09-30 08:05:15 +08:00
2026-10-06 21:50:48 +08:00
2026-10-05 01:46:55 +08:00
2026-10-06 14:32:30 +08:00
2026-10-05 18:45:44 +08:00
2026-10-12 12:24:14 +08:00
2026-10-07 00:02:15 +08:00
2026-10-14 22:17:00 +08:00
2026-10-07 01:19:26 +08:00
2026-10-05 00:06:03 +08:00
2026-10-06 14:30:03 +08:00
2026-09-29 05:26:34 +08:00
2026-09-30 09:48:16 +08:00
2026-10-15 07:15:37 +08:00
2026-10-12 17:23:27 +08:00
2026-10-05 06:49:33 +08:00
2026-09-26 23:11:31 +08:00
2026-10-14 21:55:51 +08:00
2026-09-28 02:42:40 +08:00
2026-10-06 23:56:31 +08:00
2026-10-01 22:00:07 +08:00
2026-10-01 13:42:04 +08:00