(logger hclog.Logger, reqParam *models.ListColumnsReqV2)
| 231 | } |
| 232 | |
| 233 | func listMySQLColumns(logger hclog.Logger, reqParam *models.ListColumnsReqV2) ([]string, error) { |
| 234 | uri, err := buildMysqlUri(reqParam.Host, reqParam.User, reqParam.Password, |
| 235 | reqParam.CharacterSet, int(reqParam.Port), reqParam.IsPasswordEncrypted) |
| 236 | if err != nil { |
| 237 | return nil, fmt.Errorf("build database Uri failed: %v", err) |
| 238 | } |
| 239 | |
| 240 | db, err := sql.CreateDB(uri) |
| 241 | if err != nil { |
| 242 | return nil, err |
| 243 | } |
| 244 | defer db.Close() |
| 245 | |
| 246 | logger.Info("get columns") |
| 247 | |
| 248 | columns, err := sql.ListColumns(db, reqParam.Schema, reqParam.Table) |
| 249 | if err != nil { |
| 250 | return nil, err |
| 251 | |
| 252 | } |
| 253 | return columns, nil |
| 254 | } |
| 255 | |
| 256 | func buildMysqlUri(host, user, pwd, characterSet string, port int, isMysqlPasswordEncrypted bool) (string, error) { |
| 257 | mysqlConnectionConfig := mysqlconfig.ConnectionConfig{ |
no test coverage detected