dameng-rails 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/dm_rails/version.rb +1 -1
- data/sql/dm_rails_columns.sql +8 -3
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: df58b701f21045bf213bcb68f55f666f438392f5f3dc98f4288f4446cf4ed19c
|
|
4
|
+
data.tar.gz: aca1b8c49c32adec34ef0991b945e50924325d9b53da25da4c75966a52d89cd0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: dcdde8463487934af0b6ca03c593b34e5bc129c440f6e2bf7640b77da63ba18d421f13c9de0bf017fb82dcfdc6322092c1ffe99c5c86d4f12c47757b9a917bc1
|
|
7
|
+
data.tar.gz: 7bf19ae686f0c53a9869e81c764ccad859bbbb479bf8aaded99dca0e568e9bfaa7068f848c69c4f10624e7e44f8fca4a5ed365add652bac8483e9853ed6d4e3f
|
data/lib/dm_rails/version.rb
CHANGED
data/sql/dm_rails_columns.sql
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
-- dm-rails 辅助视图:为 ActiveRecord 提供 MySQL 风格的列结构信息
|
|
2
|
+
-- 主键用预聚合 LEFT JOIN,勿改回相关子查询(后者在达梦上可慢 3 个数量级)
|
|
2
3
|
-- 在达梦业务 schema 下用达梦客户端执行(勿经代理执行);视图名可通过 DM_RAILS_VIEW 环境变量对应调整
|
|
3
4
|
CREATE OR REPLACE VIEW dm_rails_columns AS
|
|
4
5
|
SELECT LOWER(c.TABLE_NAME) AS tbl,
|
|
@@ -22,9 +23,13 @@ SELECT LOWER(c.TABLE_NAME) AS tbl,
|
|
|
22
23
|
ELSE 'varchar(255)'
|
|
23
24
|
END AS ctype,
|
|
24
25
|
CASE c.NULLABLE WHEN 'Y' THEN 'YES' ELSE 'NO' END AS is_null,
|
|
25
|
-
|
|
26
|
-
WHERE uc.CONSTRAINT_TYPE = 'P' AND cu.TABLE_NAME = c.TABLE_NAME AND cu.COLUMN_NAME = c.COLUMN_NAME AND ROWNUM <= 1), '') AS key_kind,
|
|
26
|
+
CASE WHEN pk.COLUMN_NAME IS NOT NULL THEN 'PRI' ELSE '' END AS key_kind,
|
|
27
27
|
c.DATA_DEFAULT AS def_val,
|
|
28
28
|
CASE WHEN LOWER(c.COLUMN_NAME) = 'id' THEN 'auto_increment' ELSE '' END AS extra_str,
|
|
29
29
|
c.COLUMN_ID AS col_order
|
|
30
|
-
FROM USER_TAB_COLUMNS c
|
|
30
|
+
FROM USER_TAB_COLUMNS c
|
|
31
|
+
LEFT JOIN (SELECT DISTINCT cu.TABLE_NAME, cu.COLUMN_NAME
|
|
32
|
+
FROM USER_CONS_COLUMNS cu
|
|
33
|
+
JOIN USER_CONSTRAINTS uc ON cu.CONSTRAINT_NAME = uc.CONSTRAINT_NAME
|
|
34
|
+
WHERE uc.CONSTRAINT_TYPE = 'P') pk
|
|
35
|
+
ON pk.TABLE_NAME = c.TABLE_NAME AND pk.COLUMN_NAME = c.COLUMN_NAME;
|