Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 10 additions & 3 deletions cmd/cql/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ func (v *varsFlag) Set(value string) error {
return nil
}

func init() {
func usqlRegister() {
// set command name of usql
text.CommandName = "covenantsql"

Expand Down Expand Up @@ -177,7 +177,9 @@ func init() {
log.Infof("connecting to %#v", url.DSN)

// wait for database to become ready
if err = client.WaitDBCreation(context.Background(), dsn); err != nil {
ctx, cancel := context.WithTimeout(context.Background(), waitTxConfirmationMaxDuration)
defer cancel()
if err = client.WaitDBCreation(ctx, dsn); err != nil {
return
}

Expand All @@ -202,6 +204,9 @@ func init() {
Aliases: []string{},
Override: "",
})
}

func init() {

flag.StringVar(&dsn, "dsn", "", "database url")
flag.StringVar(&command, "command", "", "run only single command (SQL or usql internal command) and exit")
Expand Down Expand Up @@ -248,6 +253,8 @@ func main() {
// duration.
waitTxConfirmationMaxDuration = 20 * conf.GConf.BPPeriod

usqlRegister()

if getBalance {
var stableCoinBalance, covenantCoinBalance uint64

Expand Down Expand Up @@ -474,8 +481,8 @@ func main() {
bindings = append(bindings, name)
}
log.Infof("available drivers are: %#v", bindings)
return
}
os.Exit(-1)
}
}

Expand Down
8 changes: 4 additions & 4 deletions sqlchain/chain.go
Original file line number Diff line number Diff line change
Expand Up @@ -550,13 +550,13 @@ func (c *Chain) pushAckedQuery(ack *types.SignedAckHeader) (err error) {

tdbKey := utils.ConcatAll(metaAckIndex[:], k, ack.Hash().AsBytes())

if err = c.tdb.Put(tdbKey, enc.Bytes(), nil); err != nil {
err = errors.Wrapf(err, "put ack %d %s", h, ack.Hash().String())
if err = c.register(ack); err != nil {
err = errors.Wrapf(err, "register ack %v at height %d", ack.Hash(), h)
return
}

if err = c.register(ack); err != nil {
err = errors.Wrapf(err, "register ack %v at height %d", ack.Hash(), h)
if err = c.tdb.Put(tdbKey, enc.Bytes(), nil); err != nil {
err = errors.Wrapf(err, "put ack %d %s", h, ack.Hash().String())
return
}

Expand Down
9 changes: 9 additions & 0 deletions worker/dbms.go
Original file line number Diff line number Diff line change
Expand Up @@ -463,6 +463,15 @@ func (dbms *DBMS) Ack(ack *types.Ack) (err error) {
var db *Database
var exists bool

// check permission
addr, err := crypto.PubKeyHash(ack.Header.Signee)
if err != nil {
return
}
err = dbms.checkPermission(addr, ack.Header.Response.Request.DatabaseID, types.ReadQuery)
if err != nil {
return
}
// find database
if db, exists = dbms.getMeta(ack.Header.Response.Request.DatabaseID); !exists {
err = ErrNotExists
Expand Down