MCPcopy Index your code
hub / github.com/bytebase/bytebase / getDBLinks

Function getDBLinks

backend/plugin/db/oracle/sync.go:146–185  ·  view source on GitHub ↗
(txn *sql.Tx)

Source from the content-addressed store, hash-verified

144}
145
146func getDBLinks(txn *sql.Tx) ([]*storepb.LinkedDatabaseMetadata, error) {
147 query := `
148 SELECT DB_LINK, HOST, USERNAME
149 FROM all_db_links
150 ORDER BY DB_LINK`
151 slog.Debug("running get db link query")
152 rows, err := txn.Query(query)
153 if err != nil {
154 return nil, util.FormatErrorWithQuery(err, query)
155 }
156 defer rows.Close()
157
158 var result []*storepb.LinkedDatabaseMetadata
159 for rows.Next() {
160 dbLink := &storepb.LinkedDatabaseMetadata{}
161 var name, host, username sql.NullString
162 if err := rows.Scan(&name, &host, &username); err != nil {
163 return nil, err
164 }
165 if !name.Valid {
166 continue
167 }
168 dbLink.Name = name.String
169 if host.Valid {
170 dbLink.Host = host.String
171 }
172 if username.Valid {
173 dbLink.Username = username.String
174 }
175 result = append(result, dbLink)
176 }
177 if err := rows.Err(); err != nil {
178 return nil, util.FormatErrorWithQuery(err, query)
179 }
180 if err := rows.Close(); err != nil {
181 return nil, errors.Wrapf(err, "failed to close rows")
182 }
183
184 return result, nil
185}
186
187func getSchemas(txn *sql.Tx) ([]string, error) {
188 query := fmt.Sprintf(`

Callers 1

SyncDBSchemaMethod · 0.85

Calls 6

FormatErrorWithQueryFunction · 0.92
DebugMethod · 0.80
ScanMethod · 0.80
QueryMethod · 0.65
CloseMethod · 0.65
NextMethod · 0.45

Tested by

no test coverage detected