(filter string)
| 114 | return b.String() |
| 115 | } |
| 116 | |
| 117 | func prepareQueryForGetKeys(filter string) string { |
| 118 | return `SELECT * FROM ( |
| 119 | SELECT |
| 120 | NULL AS pk_catalog_name, |
| 121 | NULL AS pk_schema_name, |
| 122 | p."table" AS pk_table_name, |
| 123 | p."to" AS pk_column_name, |
| 124 | NULL AS fk_catalog_name, |
| 125 | NULL AS fk_schema_name, |
| 126 | m.name AS fk_table_name, |
| 127 | p."from" AS fk_column_name, |
| 128 | p.seq AS key_sequence, |
| 129 | NULL AS pk_key_name, |
| 130 | NULL AS fk_key_name, |
| 131 | CASE |
| 132 | WHEN p.on_update = 'CASCADE' THEN 0 |
| 133 | WHEN p.on_update = 'RESTRICT' THEN 1 |
| 134 | WHEN p.on_update = 'SET NULL' THEN 2 |
| 135 | WHEN p.on_update = 'NO ACTION' THEN 3 |
| 136 | WHEN p.on_update = 'SET DEFAULT' THEN 4 |
| 137 | END AS update_rule, |
| 138 | CASE |
| 139 | WHEN p.on_delete = 'CASCADE' THEN 0 |
| 140 | WHEN p.on_delete = 'RESTRICT' THEN 1 |
| 141 | WHEN p.on_delete = 'SET NULL' THEN 2 |
| 142 | WHEN p.on_delete = 'NO ACTION' THEN 3 |
| 143 | WHEN p.on_delete = 'SET DEFAULT' THEN 4 |
| 144 | END AS delete_rule |
| 145 | FROM sqlite_master m |
| 146 | JOIN pragma_foreign_key_list(m.name) p ON m.name != p."table" |
| 147 | WHERE m.type = 'table') WHERE ` + filter + |
| 148 | ` ORDER BY pk_catalog_name, pk_schema_name, pk_table_name, pk_key_name, key_sequence` |
| 149 | } |
| 150 | |
| 151 | func CreateDB() (*sql.DB, error) { |
no outgoing calls
no test coverage detected