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  }