Comments (6)
Ok - as the error clearly states, that the table cannot be found in schema SYSTEM:
- each db. takes a (most probably different) connection out of the connection pool
--> db.Exec("SET SCHEMA....") is most probably executed not in the same connection as the following db.Query(...) - to guarantee the same connection, please use whether schema.tableName syntax in the query, a transaction or (golang > 1.9) a sql.Conn object
Please share the results after the change - thanks!
...Thanks for writing the go-hdb library!!
my pleasure
from go-hdb.
Didn't hear back, so closing the issue
from go-hdb.
I also observe that the process hangs when trying to fetch a LOB with a value of NULL
(with current state of master branch, go version: 1.10.1, HANA 2 SPS 2). Here is a scenario to reproduce:
create schema test;
create table test.table_1 (col clob not null);
insert into test.table_1 values('some-text');
create table test.table_2 (col clob);
insert into test.table_2 values(null);
package main
import (
"bytes"
"database/sql"
"fmt"
"github.com/SAP/go-hdb/driver"
)
func main() {
db, err := sql.Open("hdb", "hdb://<user>:<password>@<host>:<port>")
if err != nil {
panic(err)
}
defer db.Close()
fetchLob(db, "non-null", "table_1")
fetchLob(db, "null", "table_2")
}
func fetchLob(db *sql.DB, scenario string, tableName string) {
fmt.Printf("Fetching %s LOB value ...\n", scenario)
lob := new(driver.Lob)
b := new(bytes.Buffer)
lob.SetWriter(b)
if err := db.QueryRow(fmt.Sprintf("select col from test.%s", tableName)).Scan(lob); err != nil {
panic(err)
}
fmt.Printf("Fetched value: %v\n\n\n", b)
}
The output is:
Fetching non-null LOB value ...
Fetched value: some-text
Fetching null LOB value ...
There is no value from the second fetch because the process hangs.
Let me know if there is anything wrong in my coding or this is an issue in the library.
Many thanks
from go-hdb.
thanks a lot for providing the example - the code looks good, so most probably we are going to provide a fix asap
from go-hdb.
should work with the newest release (v0.11.1) - please see new NullLob for scanning Lob null values
from go-hdb.
Works as expected now, thanks a lot
from go-hdb.
Related Issues (20)
- [Feature Request] Distribution settings hardcoded to OFF? HOT 8
- comments at the beginning of the query throws error HOT 9
- Bug - wrong scan type for decimal with null values HOT 6
- protocol error: invalid number of lob parameter ids 1 HOT 4
- [defect] insert lob with size more or equal to 8192 will fail HOT 1
- rows.Next does not stream all rows HOT 2
- Unable to open database connection due to DSN parsing error HOT 1
- dial tcp: missing address HOT 1
- goroutine leak detected in the driver package: callConverter HOT 1
- goroutine leak in driver package: init() HOT 2
- Does go-hdb support IP as the 'endpoint' of hana cloud connection? HOT 3
- Connection via hdbuserstore key does not work? HOT 1
- Connecting to Hana Cloud instance from local system gives connection error HOT 1
- Switch go.mod version to Go 1.21.0 HOT 2
- Consider going back to `go 1.21` in go.mod directive HOT 2
- Why adding options to flag in an embedded library? HOT 1
- ld: symbol(s) not found for architecture arm64 HOT 1
- Example code result error
- Support for `databaseName` query param HOT 1
- EOF error when using x509 certificate for login on HANA Cloud HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from go-hdb.