Skip to content

Cannot use SQL method with WHERE something > number #17

@Impa10r

Description

@Impa10r

This query works using lighting-cli:

$ lightning-cli sql -k query="SELECT * FROM htlcs WHERE expiry > 1;"
{
   "rows": [
      [
         2381,

It also works using JSON-RPC in shell:

$ echo '{"method": "sql", "params": {"query": "SELECT * FROM htlcs WHERE expiry > 1;"}, "id": 1, "jsonrpc": "2.0"}' | nc -U ${PWD}/.lightning/testnet/lightning-rpc
{"jsonrpc":"2.0","id":1,"result":{"rows":[[2456,"2821409x111x0",0,2821429,1000000,"in","c95ad151010e9cc14238bce909e6e8545258fc07d0e00c98a4b5ff90ac049e61","SENT_REMOVE_ACK_REVOCATION"],[2457,"2821

But it DOES NOT work with glightning:

type SQLRequest struct {
	Query string `json:"query"`
}

func (r SQLRequest) Name() string {
	return "sql"
}
....
// this fails with error
// -1:query failed with unrecognized token: "\"
err = lightning.Request(&SQLRequest{
Query: "SELECT * FROM htlcs WHERE expiry > 1;",
}, &response)

glightning is apparently escaping > with \, but I cannot find where.

here is the test repo.

Output:

2024/09/05 16:44:11 Rows: 75
2024/09/05 16:44:11 Rows: 0
2024/09/05 16:44:11 SQLRequest: -1:query failed with unrecognized token: "\"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions