lxd/api_internal.go
func internalSQLGet(d *Daemon, r *http.Request) Response {
	database := r.FormValue("database")

	if !shared.StringInSlice(database, []string{"local", "global"}) {
		return BadRequest(fmt.Errorf("Invalid database"))
	}

	schemaFormValue := r.FormValue("schema")
	schemaOnly, err := strconv.Atoi(schemaFormValue)
	if err != nil {
		schemaOnly = 0
	}

	var schema string
	var db *sql.DB
	if database == "global" {
		db = d.cluster.DB()
		schema = cluster.FreshSchema()
	} else {
		db = d.db.DB()
		schema = node.FreshSchema()
	}

	tx, err := db.Begin()
	if err != nil {
		return SmartError(errors.Wrap(err, "failed to start transaction"))
	}
	defer tx.Rollback()
	dump, err := query.Dump(tx, schema, schemaOnly == 1)
	if err != nil {
		return SmartError(errors.Wrapf(err, "failed dump database %s", database))
	}
	return SyncResponse(true, internalSQLDump{Text: dump})
}
func internalSQLGet(d *Daemon, r *http.Request) Response {
	database := r.FormValue("database")

	if !shared.StringInSlice(database, []string{"local", "global"}) {
		return BadRequest(fmt.Errorf("Invalid database"))
	}

	schemaFormValue := r.FormValue("schema")
	schemaOnly, err := strconv.Atoi(schemaFormValue)
	if err != nil {
		schemaOnly = 0
	}

	var schema string
	var db *sql.DB
	if database == "global" {
		db = d.cluster.DB()
		schema = cluster.FreshSchema()
	} else {
		db = d.db.DB()
		schema = node.FreshSchema()
	}

	tx, err := db.Begin()
	if err != nil {
		return SmartError(errors.Wrap(err, "failed to start transaction"))
	}
	defer tx.Rollback()
	dump, err := query.Dump(tx, schema, schemaOnly == 1)
	if err != nil {
		return SmartError(errors.Wrapf(err, "failed dump database %s", database))
	}
	return SyncResponse(true, internalSQLDump{Text: dump})
}
func internalSQLGet ( d * Daemon , r * http . Request ) Response { database := r . FormValue ( " " ) if ! shared . StringInSlice ( database , [ ] string { " " , " " } ) { return BadRequest ( fmt . Errorf ( " " ) ) } schemaFormValue := r . FormValue ( " " ) schemaOnly , err := strconv . Atoi ( schemaFormValue ) if err != nil { schemaOnly = 0 } var schema string var db * sql . DB if database == " " { db = d . cluster . DB ( ) schema = cluster . FreshSchema ( ) } else { db = d . db . DB ( ) schema = node . FreshSchema ( ) } tx , err := db . Begin ( ) if err != nil { return SmartError ( errors . Wrap ( err , " " ) ) } defer tx . Rollback ( ) dump , err := query . Dump ( tx , schema , schemaOnly == 1 ) if err != nil { return SmartError ( errors . Wrapf ( err , " " , database ) ) } return SyncResponse ( true , internalSQLDump { Text : dump } ) }
// Perform a database dump.
Perform a database dump .