Skip to content

Commit 58374a6

Browse files
Fix bug that prevented SQL Server row limts (#1136)
Co-authored-by: Tom Micheline <[email protected]>
1 parent 3d15421 commit 58374a6

File tree

2 files changed

+36
-2
lines changed
  • dataframe-jdbc/src
    • main/kotlin/org/jetbrains/kotlinx/dataframe/io/db
    • test/kotlin/org/jetbrains/kotlinx/dataframe/io

2 files changed

+36
-2
lines changed

dataframe-jdbc/src/main/kotlin/org/jetbrains/kotlinx/dataframe/io/db/MsSql.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ public object MsSql : DbType("sqlserver") {
5050
override fun convertSqlTypeToKType(tableColumnMetadata: TableColumnMetadata): KType? = null
5151

5252
public override fun sqlQueryLimit(sqlQuery: String, limit: Int): String {
53-
sqlQuery.replace("SELECT", "SELECT TOP $limit", ignoreCase = true)
54-
return sqlQuery
53+
return sqlQuery.replace("SELECT", "SELECT TOP $limit", ignoreCase = true)
5554
}
5655
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package org.jetbrains.kotlinx.dataframe.io
2+
3+
import io.kotest.matchers.shouldBe
4+
import org.intellij.lang.annotations.Language
5+
import org.jetbrains.kotlinx.dataframe.DataFrame
6+
import org.jetbrains.kotlinx.dataframe.annotations.DataSchema
7+
import org.jetbrains.kotlinx.dataframe.api.cast
8+
import org.jetbrains.kotlinx.dataframe.api.filter
9+
import org.jetbrains.kotlinx.dataframe.io.db.MsSql
10+
import org.junit.AfterClass
11+
import org.junit.BeforeClass
12+
import org.junit.Test
13+
import java.sql.Connection
14+
import java.sql.DriverManager
15+
import java.sql.SQLException
16+
import kotlin.reflect.typeOf
17+
18+
class MsSqlTest {
19+
companion object {
20+
@BeforeClass
21+
@JvmStatic
22+
fun setUpClass() {
23+
}
24+
25+
@AfterClass
26+
@JvmStatic
27+
fun tearDownClass() {
28+
}
29+
}
30+
31+
@Test
32+
fun `test SQL Server TOP limit functionality`() {
33+
MsSql.sqlQueryLimit("SELECT * FROM TestTable1", 1) shouldBe "SELECT TOP 1 * FROM TestTable1"
34+
}
35+
}

0 commit comments

Comments
 (0)