MCPcopy Index your code
hub / github.com/dataease/SQLBot / get_table_sql

Function get_table_sql

backend/apps/db/db_sql.py:36–168  ·  view source on GitHub ↗
(ds: CoreDatasource, conf: DatasourceConf, db_version: str = '')

Source from the content-addressed store, hash-verified

34
35
36def get_table_sql(ds: CoreDatasource, conf: DatasourceConf, db_version: str = ''):
37 if equals_ignore_case(ds.type, "mysql"):
38 return """
39 SELECT
40 TABLE_NAME,
41 TABLE_COMMENT
42 FROM
43 information_schema.TABLES
44 WHERE
45 TABLE_SCHEMA = :param
46 """, conf.database
47 elif equals_ignore_case(ds.type, "sqlServer"):
48 return """
49 SELECT
50 TABLE_NAME AS [TABLE_NAME],
51 ISNULL(ep.value, '') AS [TABLE_COMMENT]
52 FROM
53 INFORMATION_SCHEMA.TABLES t
54 LEFT JOIN
55 sys.extended_properties ep
56 ON ep.major_id = OBJECT_ID(t.TABLE_SCHEMA + '.' + t.TABLE_NAME)
57 AND ep.minor_id = 0
58 AND ep.name = 'MS_Description'
59 WHERE
60 t.TABLE_TYPE IN ('BASE TABLE', 'VIEW')
61 AND t.TABLE_SCHEMA = :param
62 """, conf.dbSchema
63 elif equals_ignore_case(ds.type, "pg", "excel"):
64 return """
65 SELECT c.relname AS TABLE_NAME,
66 COALESCE(COALESCE(d.description, obj_description(c.oid)), '') AS TABLE_COMMENT
67 FROM pg_class c
68 LEFT JOIN
69 pg_namespace n ON n.oid = c.relnamespace
70 LEFT JOIN
71 pg_description d ON d.objoid = c.oid AND d.objsubid = 0
72 WHERE n.nspname = :param
73 AND c.relkind IN ('r', 'v', 'p', 'm')
74 AND c.relname NOT LIKE 'pg_%'
75 AND c.relname NOT LIKE 'sql_%'
76 ORDER BY c.relname \
77 """, conf.dbSchema
78 elif equals_ignore_case(ds.type, "oracle"):
79 return """
80 SELECT DISTINCT
81 t.TABLE_NAME AS "TABLE_NAME",
82 NVL(c.COMMENTS, '') AS "TABLE_COMMENT"
83 FROM (
84 SELECT TABLE_NAME, 'TABLE' AS OBJECT_TYPE
85 FROM ALL_TABLES
86 WHERE OWNER = :param
87 UNION ALL
88 SELECT VIEW_NAME AS TABLE_NAME, 'VIEW' AS OBJECT_TYPE
89 FROM ALL_VIEWS
90 WHERE OWNER = :param
91 UNION ALL
92 SELECT MVIEW_NAME AS TABLE_NAME, 'MATERIALIZED VIEW' AS OBJECT_TYPE
93 FROM ALL_MVIEWS

Callers 1

get_tablesFunction · 0.90

Calls 1

equals_ignore_caseFunction · 0.90

Tested by

no test coverage detected