Documentation
¶
Overview ¶
Package query 实现 query binder:SQL/Mongo/Redis 执行 + 三种面板连接缓存 + 表导出。
Index ¶
- type LangProvider
- type Query
- func (q *Query) Cleanup()
- func (q *Query) ExecuteMongo(assetID int64, operation, database, collection, query string) (string, error)
- func (q *Query) ExecuteRedis(assetID int64, command string, db int) (string, error)
- func (q *Query) ExecuteRedisArgs(assetID int64, args []string, db int) (string, error)
- func (q *Query) ExecuteSQL(assetID int64, sqlText string, database string) (string, error)
- func (q *Query) ExecuteSQLPaged(assetID int64, sqlText string, database string, page int, pageSize int) (string, error)
- func (q *Query) ExecuteTableImport(assetID int64, database string, request query_svc.TableImportBatchRequest) (*query_svc.TableImportBatchResult, error)
- func (q *Query) ExportTableToXlsx(assetID int64, database, selectSQL, filePath string) error
- func (q *Query) GetObjectSource(assetID int64, database, objType, name, table string) (string, error)
- func (q *Query) GetTableMetadata(assetID int64, database, table string) (*query_svc.TableMetadata, error)
- func (q *Query) ListDatabaseObjects(assetID int64, database string) (*query_svc.DatabaseObjects, error)
- func (q *Query) ListMongoCollections(assetID int64, database string) (string, error)
- func (q *Query) ListMongoDatabases(assetID int64) (string, error)
- func (q *Query) OpenTable(assetID int64, database, table string, pageSize int) (string, error)
- func (q *Query) ParseXlsx(base64Content, sheet string) (*query_svc.ParsedXlsxTable, error)
- func (q *Query) SelectTableExportFile(defaultFilename, filterName, pattern string) (string, error)
- func (q *Query) Startup(ctx context.Context)
- func (q *Query) WriteTableExportFile(filePath, content string, options *TableExportWriteOptions) error
- type TableExportWriteOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Query ¶
type Query struct {
// contains filtered or unexported fields
}
Query binder:DB/Mongo/Redis 查询执行 + 面板连接缓存。
func (*Query) ExecuteMongo ¶
func (q *Query) ExecuteMongo(assetID int64, operation, database, collection, query string) (string, error)
ExecuteMongo 在指定 MongoDB 资产上执行操作
func (*Query) ExecuteRedis ¶
ExecuteRedis 在指定 Redis 资产上执行命令
func (*Query) ExecuteRedisArgs ¶
ExecuteRedisArgs 使用预拆分的参数执行 Redis 命令(支持含空格的值)
func (*Query) ExecuteSQL ¶
ExecuteSQL 在指定数据库资产上执行 SQL 查询
func (*Query) ExecuteSQLPaged ¶
func (q *Query) ExecuteSQLPaged(assetID int64, sqlText string, database string, page int, pageSize int) (string, error)
ExecuteSQLPaged 在指定数据库资产上执行分页 SQL 查询(SELECT/WITH 子查询包装)
func (*Query) ExecuteTableImport ¶
func (q *Query) ExecuteTableImport( assetID int64, database string, request query_svc.TableImportBatchRequest, ) (*query_svc.TableImportBatchResult, error)
ExecuteTableImport executes a prepared table import batch on one database session.
func (*Query) ExportTableToXlsx ¶ added in v1.10.0
ExportTableToXlsx runs selectSQL against a database asset and streams the result set into an XLSX workbook at filePath. The query (with filters / ordering / scope) is built by the frontend via buildTableExportSelectSql; rows are streamed server-side so large exports never enter the frontend.
func (*Query) GetObjectSource ¶ added in v1.10.0
func (q *Query) GetObjectSource(assetID int64, database, objType, name, table string) (string, error)
GetObjectSource returns the read-only definition of a view / routine / trigger. table is only used for PostgreSQL triggers (see query_svc.ObjectMeta.Table).
func (*Query) GetTableMetadata ¶ added in v1.10.0
func (q *Query) GetTableMetadata(assetID int64, database, table string) (*query_svc.TableMetadata, error)
GetTableMetadata returns columns / indexes / foreign keys for a table.
func (*Query) ListDatabaseObjects ¶ added in v1.10.0
func (q *Query) ListDatabaseObjects(assetID int64, database string) (*query_svc.DatabaseObjects, error)
ListDatabaseObjects returns views / procedures / functions / triggers.
func (*Query) ListMongoCollections ¶
ListMongoCollections 列出指定 MongoDB 资产中某个数据库的所有集合
func (*Query) ListMongoDatabases ¶
ListMongoDatabases 列出指定 MongoDB 资产的所有数据库
func (*Query) ParseXlsx ¶ added in v1.10.0
func (q *Query) ParseXlsx(base64Content, sheet string) (*query_svc.ParsedXlsxTable, error)
ParseXlsx decodes a base64-encoded XLSX file (read in the frontend from a browser File) and returns the named sheet — or the first sheet when sheet is empty — as a ParsedXlsxTable JSON ({ headers, rows }) matching the frontend ParsedDelimitedTable so it flows straight into the import preview pipeline.
func (*Query) SelectTableExportFile ¶
SelectTableExportFile opens a native save dialog for table exports.
func (*Query) WriteTableExportFile ¶
func (q *Query) WriteTableExportFile(filePath, content string, options *TableExportWriteOptions) error
WriteTableExportFile writes exported table content to the path chosen by the user.
type TableExportWriteOptions ¶
type TableExportWriteOptions struct {
Encoding string `json:"encoding"`
Append bool `json:"append"`
}
TableExportWriteOptions controls how exported table data is written to disk.