The following pull request was submitted through Github. It can be accessed and reviewed at: https://github.com/lxc/lxd/pull/4488
This e-mail was sent by the LXC bot, direct replies will not reach the author unless they happen to be subscribed to this list. === Description (from pull-request) ===
From 7e7a39ecf25712f30b6c15ea80b1f25d53b4c81c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Graber?= <[email protected]> Date: Mon, 23 Apr 2018 23:48:22 -0400 Subject: [PATCH 1/2] lxd/db: Don't crash on empty queries MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Stéphane Graber <[email protected]> --- lxd/api_internal.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lxd/api_internal.go b/lxd/api_internal.go index 0970d8c7a..7a2dbd82f 100644 --- a/lxd/api_internal.go +++ b/lxd/api_internal.go @@ -173,6 +173,11 @@ func internalSQLPost(d *Daemon, r *http.Request) Response { batch := internalSQLBatch{} for _, query := range strings.Split(req.Query, ";") { query = strings.TrimLeft(query, " ") + + if query == "" { + continue + } + result := internalSQLResult{} if strings.HasPrefix(strings.ToUpper(query), "SELECT") { err = internalSQLSelect(db, query, &result) From c9da87aa88e1e9bf1fc4c228011a34ca668b2c12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Graber?= <[email protected]> Date: Tue, 24 Apr 2018 00:03:47 -0400 Subject: [PATCH 2/2] lxd/sql: Drop custom table renderer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Stéphane Graber <[email protected]> --- lxd/main_sql.go | 51 +++++++++++---------------------------------------- lxd/networks.go | 2 +- 2 files changed, 12 insertions(+), 41 deletions(-) diff --git a/lxd/main_sql.go b/lxd/main_sql.go index 2f1fef143..52a7ac870 100644 --- a/lxd/main_sql.go +++ b/lxd/main_sql.go @@ -5,10 +5,8 @@ import ( "fmt" "io/ioutil" "os" - "strconv" - "strings" - "time" + "github.com/olekukonko/tablewriter" "github.com/pkg/errors" "github.com/spf13/cobra" @@ -137,44 +135,17 @@ func (c *cmdSql) Run(cmd *cobra.Command, args []string) error { } func sqlPrintSelectResult(result internalSQLResult) { - // Print results in tabular format - widths := make([]int, len(result.Columns)) - for i, column := range result.Columns { - widths[i] = len(column) - } + table := tablewriter.NewWriter(os.Stdout) + table.SetAlignment(tablewriter.ALIGN_LEFT) + table.SetAutoWrapText(false) + table.SetAutoFormatHeaders(false) + table.SetHeader(result.Columns) for _, row := range result.Rows { - for i, v := range row { - width := 10 - switch v := v.(type) { - case string: - width = len(v) - case int: - width = 6 - case int64: - width = 6 - case time.Time: - width = 12 - } - if width > widths[i] { - widths[i] = width - } + data := []string{} + for _, col := range row { + data = append(data, fmt.Sprintf("%v", col)) } + table.Append(data) } - format := "|" - separator := "+" - columns := make([]interface{}, len(result.Columns)) - for i, column := range result.Columns { - format += " %-" + strconv.Itoa(widths[i]) + "v |" - columns[i] = column - separator += strings.Repeat("-", widths[i]+2) + "+" - } - format += "\n" - separator += "\n" - fmt.Printf(separator) - fmt.Printf(fmt.Sprintf(format, columns...)) - fmt.Printf(separator) - for _, row := range result.Rows { - fmt.Printf(format, row...) - } - fmt.Printf(separator) + table.Render() } diff --git a/lxd/networks.go b/lxd/networks.go index f7c751120..19c6d1b25 100644 --- a/lxd/networks.go +++ b/lxd/networks.go @@ -1461,7 +1461,7 @@ func (n *network) Start() error { } // Configure NAT - err = networkIptablesPrepend("ipv4", n.name, "nat", "POSTROUTING", "-s", underlaySubnet.String(), "!", "-d", underlaySubnet.String(), "-j", "MASQUERADE") + err = networkIptablesPrepend("ipv4", n.name, "nat", "POSTROUTING", "-s", overlaySubnet.String(), "!", "-d", overlaySubnet.String(), "-j", "MASQUERADE") if err != nil { return err }
_______________________________________________ lxc-devel mailing list [email protected] http://lists.linuxcontainers.org/listinfo/lxc-devel
