@@ -5215,22 +5215,43 @@ func TestMultiDBCatalogQueries(t *testing.T) {
52155215 _ , _ , err = engine .Exec ("BEGIN TRANSACTION; USE DATABASE db1; COMMIT;" , nil , nil )
52165216 require .ErrorIs (t , err , ErrNonTransactionalStmt )
52175217
5218- r , err := engine .Query ("SELECT * FROM DATABASES()" , nil , nil )
5219- require .NoError (t , err )
5218+ t .Run ("unconditional database query" , func (t * testing.T ) {
5219+ r , err := engine .Query ("SELECT * FROM DATABASES() WHERE name LIKE 'db*'" , nil , nil )
5220+ require .NoError (t , err )
52205221
5221- for _ , db := range dbs {
5222- row , err := r .Read ()
5222+ for _ , db := range dbs {
5223+ row , err := r .Read ()
5224+ require .NoError (t , err )
5225+ require .NotNil (t , row )
5226+ require .NotNil (t , row )
5227+ require .Equal (t , db , row .ValuesBySelector ["(*.databases.name)" ].Value ())
5228+ }
5229+
5230+ _ , err = r .Read ()
5231+ require .ErrorIs (t , err , ErrNoMoreRows )
5232+
5233+ err = r .Close ()
52235234 require .NoError (t , err )
5224- require .NotNil (t , row )
5225- require .NotNil (t , row )
5226- require .Equal (t , db , row .ValuesBySelector ["(*.databases.name)" ].Value ())
5227- }
5235+ })
52285236
5229- _ , err = r .Read ()
5230- require .ErrorIs (t , err , ErrNoMoreRows )
5237+ t .Run ("query databases using conditions with table and column aliasing" , func (t * testing.T ) {
5238+ r , err := engine .Query ("SELECT dbs.name as dbname FROM DATABASES() as dbs WHERE name LIKE 'db*'" , nil , nil )
5239+ require .NoError (t , err )
52315240
5232- err = r .Close ()
5233- require .NoError (t , err )
5241+ for _ , db := range dbs {
5242+ row , err := r .Read ()
5243+ require .NoError (t , err )
5244+ require .NotNil (t , row )
5245+ require .NotNil (t , row )
5246+ require .Equal (t , db , row .ValuesBySelector ["(*.dbs.dbname)" ].Value ())
5247+ }
5248+
5249+ _ , err = r .Read ()
5250+ require .ErrorIs (t , err , ErrNoMoreRows )
5251+
5252+ err = r .Close ()
5253+ require .NoError (t , err )
5254+ })
52345255 })
52355256
52365257 t .Run ("with a handler, statements must only involve current selected database" , func (t * testing.T ) {
0 commit comments