modelRT/sql/topologic.go

18 lines
584 B
Go

// Package sql define database sql statement
package sql
// RecursiveSQL define Topologic table recursive query statement
var RecursiveSQL = `WITH RECURSIVE recursive_tree as (
SELECT uuid_from,uuid_to,page_id,flag
FROM "Topologic"
WHERE uuid_from is null and page_id = ?
UNION ALL
SELECT t.uuid_from,t.uuid_to,t.page_id,t.flag
FROM "Topologic" t
JOIN recursive_tree rt ON t.uuid_from = rt.uuid_to
)
SELECT * FROM recursive_tree;`
// TODO 为 Topologic 表增加唯一所以
// CREATE UNIQUE INDEX uuid_from_to_page_id_idx ON public."Topologic"(uuid_from,uuid_to,page_id);