@@ -189,6 +189,41 @@ func TestDriver(sourceTest *testing.T) {
189189 require .NoError (t , err )
190190 err = db .Query ().Exec (ctx , `CREATE USER test PASSWORD 'password'` )
191191 require .NoError (t , err )
192+ tableName := path .Join (db .Name (), t .Name (), "test" )
193+ t .RunSynced ("CreateTable" , func (t * xtest.SyncedTest ) {
194+ err := db .Query ().Exec (ctx , fmt .Sprintf (`
195+ CREATE TABLE IF NOT EXISTS %s (
196+ id Uint64,
197+ value Utf8,
198+ PRIMARY KEY (id)
199+ )` , "`" + tableName + "`" ),
200+ )
201+ require .NoError (t , err )
202+ })
203+ t .RunSynced ("Query" , func (t * xtest.SyncedTest ) {
204+ row , err := db .Query ().QueryRow (ctx , `SELECT 1` )
205+ require .NoError (t , err )
206+ var v int
207+ err = row .Scan (& v )
208+ require .NoError (t , err )
209+ })
210+ t .RunSynced ("DescribeTable" , func (t * xtest.SyncedTest ) {
211+ var d options.Description
212+ err := db .Table ().Do (ctx , func (ctx context.Context , s table.Session ) error {
213+ d , err = s .DescribeTable (ctx , tableName )
214+ if err != nil {
215+ return err
216+ }
217+
218+ return nil
219+ })
220+ require .NoError (t , err )
221+ require .Equal (t , "test" , d .Name )
222+ require .Equal (t , 2 , len (d .Columns ))
223+ require .Equal (t , "id" , d .Columns [0 ].Name )
224+ require .Equal (t , "value" , d .Columns [1 ].Name )
225+ require .Equal (t , []string {"id" }, d .PrimaryKey )
226+ })
192227 })
193228 t .RunSynced ("DSN" , func (t * xtest.SyncedTest ) {
194229 u , err := url .Parse (os .Getenv ("YDB_CONNECTION_STRING" ))
@@ -210,7 +245,7 @@ func TestDriver(sourceTest *testing.T) {
210245 tableName := path .Join (db .Name (), t .Name (), "test" )
211246 t .RunSynced ("CreateTable" , func (t * xtest.SyncedTest ) {
212247 err := db .Query ().Exec (ctx , fmt .Sprintf (`
213- CREATE TABLE %s (
248+ CREATE TABLE IF NOT EXISTS %s (
214249 id Uint64,
215250 value Utf8,
216251 PRIMARY KEY (id)
@@ -229,7 +264,7 @@ func TestDriver(sourceTest *testing.T) {
229264 return nil
230265 })
231266 require .NoError (t , err )
232- require .Equal (t , "" , d .Name )
267+ require .Equal (t , "test " , d .Name )
233268 require .Equal (t , 2 , len (d .Columns ))
234269 require .Equal (t , "id" , d .Columns [0 ].Name )
235270 require .Equal (t , "value" , d .Columns [1 ].Name )
@@ -248,7 +283,7 @@ func TestDriver(sourceTest *testing.T) {
248283 tableName := path .Join (db .Name (), t .Name (), "test" )
249284 t .RunSynced ("CreateTable" , func (t * xtest.SyncedTest ) {
250285 err := db .Query ().Exec (ctx , fmt .Sprintf (`
251- CREATE TABLE %s (
286+ CREATE TABLE IF NOT EXISTS %s (
252287 id Uint64,
253288 value Utf8,
254289 PRIMARY KEY (id)
@@ -274,7 +309,7 @@ func TestDriver(sourceTest *testing.T) {
274309 return nil
275310 })
276311 require .NoError (t , err )
277- require .Equal (t , "" , d .Name )
312+ require .Equal (t , "test " , d .Name )
278313 require .Equal (t , 2 , len (d .Columns ))
279314 require .Equal (t , "id" , d .Columns [0 ].Name )
280315 require .Equal (t , "value" , d .Columns [1 ].Name )
0 commit comments