github.com/gogf/gf@v1.16.9/database/gdb/gdb_z_oracle_internal_test.go (about) 1 // Copyright GoFrame Author(https://goframe.org). All Rights Reserved. 2 // 3 // This Source Code Form is subject to the terms of the MIT License. 4 // If a copy of the MIT was not distributed with this file, 5 // You can obtain one at https://github.com/gogf/gf. 6 7 package gdb 8 9 import ( 10 "github.com/gogf/gf/test/gtest" 11 "testing" 12 ) 13 14 func Test_Oracle_parseSql(t *testing.T) { 15 gtest.C(t, func(t *gtest.T) { 16 o := new(DriverOracle) 17 sql := `UPDATE user SET name='john'` 18 newSql := o.parseSql(sql) 19 t.Assert(newSql, sql) 20 }) 21 22 gtest.C(t, func(t *gtest.T) { 23 o := new(DriverOracle) 24 sql := `SELECT * FROM user` 25 newSql := o.parseSql(sql) 26 t.Assert(newSql, sql) 27 }) 28 29 gtest.C(t, func(t *gtest.T) { 30 o := new(DriverOracle) 31 sql := `SELECT * FROM user LIMIT 0, 10` 32 newSql := o.parseSql(sql) 33 t.Assert(newSql, `SELECT * FROM (SELECT GFORM.*, ROWNUM ROWNUM_ FROM (SELECT * FROM user ) GFORM WHERE ROWNUM <= 10) WHERE ROWNUM_ >= 0`) 34 }) 35 36 gtest.C(t, func(t *gtest.T) { 37 o := new(DriverOracle) 38 sql := `SELECT * FROM user LIMIT 1` 39 newSql := o.parseSql(sql) 40 t.Assert(newSql, `SELECT * FROM (SELECT GFORM.*, ROWNUM ROWNUM_ FROM (SELECT * FROM user ) GFORM WHERE ROWNUM <= 1) WHERE ROWNUM_ >= 0`) 41 }) 42 43 gtest.C(t, func(t *gtest.T) { 44 o := new(DriverOracle) 45 sql := `SELECT ENAME FROM USER_INFO WHERE ID=2 LIMIT 1` 46 newSql := o.parseSql(sql) 47 t.Assert(newSql, `SELECT * FROM (SELECT GFORM.*, ROWNUM ROWNUM_ FROM (SELECT ENAME FROM USER_INFO WHERE ID=2 ) GFORM WHERE ROWNUM <= 1) WHERE ROWNUM_ >= 0`) 48 }) 49 }