Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0.14 post release Part 2 #877

Merged
merged 5 commits into from
Sep 25, 2024
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ env:
ALGOLIA_INDEX_NAME: prod_DATAFRAME_HELP
ALGOLIA_KEY: ${{ secrets.ALGOLIA_KEY }}
CONFIG_JSON_PRODUCT: Dataframe
CONFIG_JSON_VERSION: '0.13'
CONFIG_JSON_VERSION: '0.14'

jobs:
build-job:
Expand Down
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Kotlin DataFrame: typesafe in-memory structured data processing for JVM
[![JetBrains incubator project](https://jb.gg/badges/incubator.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
[![Kotlin component alpha stability](https://img.shields.io/badge/project-alpha-kotlin.svg?colorA=555555&colorB=DB3683&label=&logo=kotlin&logoColor=ffffff&logoWidth=10)](https://kotlinlang.org/docs/components-stability.html)
[![Kotlin](https://img.shields.io/badge/kotlin-1.9.22-blue.svg?logo=kotlin)](http://kotlinlang.org)
[![Kotlin](https://img.shields.io/badge/kotlin-2.0.20-blue.svg?logo=kotlin)](http://kotlinlang.org)
[![Dynamic XML Badge](https://img.shields.io/badge/dynamic/xml?url=https%3A%2F%2Frepo1.maven.org%2Fmaven2%2Forg%2Fjetbrains%2Fkotlinx%2Fdataframe%2Fmaven-metadata.xml&query=%2F%2Fversion%5Bnot%28contains%28text%28%29%2C%22dev%22%29%29%5D%5Blast%28%29%5D&label=Release%20version)](https://search.maven.org/artifact/org.jetbrains.kotlinx/dataframe)
[![Dynamic XML Badge](https://img.shields.io/badge/dynamic/xml?url=https%3A%2F%2Frepo1.maven.org%2Fmaven2%2Forg%2Fjetbrains%2Fkotlinx%2Fdataframe%2Fmaven-metadata.xml&query=%2F%2Fversion%5Bcontains%28text%28%29%2C%22dev%22%29%5D%5Blast%28%29%5D&label=Dev%20version&color=yellow
)](https://search.maven.org/artifact/org.jetbrains.kotlinx/dataframe)
Expand Down Expand Up @@ -41,18 +41,18 @@ You could find the following articles there:
Check out this [notebook with new features](examples/notebooks/feature_overviews/0.14.0/new_features.ipynb) in development for the next release.

The DataFrame compiler plugin has reached public preview!
Here's a [compiler plugin demo project](https://github.com/koperagen/df-plugin-demo) that works with IntelliJ IDEA 2024.2.
Here's a [compiler plugin demo project](https://github.com/koperagen/df-plugin-demo) that works with [IntelliJ IDEA](https://www.jetbrains.com/idea/) 2024.2.

## Setup

```kotlin
implementation("org.jetbrains.kotlinx:dataframe:0.13.1")
implementation("org.jetbrains.kotlinx:dataframe:0.14.0")
```

Optional Gradle plugin for enhanced type safety and schema generation
https://kotlin.github.io/dataframe/schemasgradle.html
```kotlin
id("org.jetbrains.kotlinx.dataframe") version "0.13.1"
id("org.jetbrains.kotlinx.dataframe") version "0.14.0"
```

Check out the [custom setup page](https://kotlin.github.io/dataframe/gettingstartedgradleadvanced.html) if you don't need some of the formats as dependencies,
Expand All @@ -77,7 +77,7 @@ df.filter { "stargazers_count"<Int>() > 50 }.print()

Requires Gradle plugin to work
```kotlin
id("org.jetbrains.kotlinx.dataframe") version "0.13.1"
id("org.jetbrains.kotlinx.dataframe") version "0.14.0"
```

Plugin generates extension properties API for provided sample of data. Column names and their types become discoverable in completion.
Expand Down Expand Up @@ -228,6 +228,7 @@ This table shows the mapping between main library component versions and minimum
| 0.12.0 | 8 | 1.9.0 | 0.11.0-358 | 3.0.0 | 11.0.0 |
| 0.12.1 | 8 | 1.9.0 | 0.11.0-358 | 3.0.0 | 11.0.0 |
| 0.13.1 | 8 | 1.9.22 | 0.12.0-139 | 3.0.0 | 15.0.0 |
| 0.14.0 | 8 | 2.0.20 | 0.12.0-139 | 3.0.0 | 17.0.0 |

## Code of Conduct

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
package org.jetbrains.kotlinx.dataframe.api

import org.jetbrains.kotlinx.dataframe.ColumnsSelector
import org.jetbrains.kotlinx.dataframe.DataColumn
import org.jetbrains.kotlinx.dataframe.DataFrame
import org.jetbrains.kotlinx.dataframe.DataRow
import org.jetbrains.kotlinx.dataframe.api.ColumnsSelectionDsl.DslGrammar.ColumnGroupPartOfGrammar
import org.jetbrains.kotlinx.dataframe.api.ColumnsSelectionDsl.DslGrammar.ColumnSetPartOfGrammar
import org.jetbrains.kotlinx.dataframe.api.ColumnsSelectionDsl.DslGrammar.DefinitionsPartOfGrammar
import org.jetbrains.kotlinx.dataframe.api.ColumnsSelectionDsl.DslGrammar.PlainDslPartOfGrammar
import org.jetbrains.kotlinx.dataframe.columns.ColumnPath
import org.jetbrains.kotlinx.dataframe.columns.ColumnSet
import org.jetbrains.kotlinx.dataframe.columns.ColumnsResolver
Expand All @@ -16,9 +19,6 @@ import org.jetbrains.kotlinx.dataframe.documentation.Indent
import org.jetbrains.kotlinx.dataframe.documentation.LineBreak
import org.jetbrains.kotlinx.dataframe.documentation.SelectingColumns
import org.jetbrains.kotlinx.dataframe.impl.DataFrameReceiver
import org.jetbrains.kotlinx.dataframe.impl.columns.ColumnsList
import org.jetbrains.kotlinx.dataframe.util.COL_SELECT_DSL_LIST_DATACOLUMN_GET
import org.jetbrains.kotlinx.dataframe.util.COL_SELECT_DSL_LIST_DATACOLUMN_GET_REPLACE
import kotlin.reflect.KProperty

/** [Columns Selection DSL][ColumnsSelectionDsl] */
Expand Down Expand Up @@ -380,22 +380,6 @@ public interface ColumnsSelectionDsl<out T> : // SingleColumn<DataRow<T>>
public operator fun <C> ColumnsSelector<T, C>.invoke(): ColumnsResolver<C> =
this@invoke(this@ColumnsSelectionDsl, this@ColumnsSelectionDsl)

/**
* ## Deprecated: Columns by Index Range from List of Columns
* Helper function to create a [ColumnSet] from a list of columns by specifying a range of indices.
*
* ### Deprecated
*
* Deprecated because it's too niche. Let us know if you have a good use for it!
*/
@Deprecated(
message = COL_SELECT_DSL_LIST_DATACOLUMN_GET,
replaceWith = ReplaceWith(COL_SELECT_DSL_LIST_DATACOLUMN_GET_REPLACE),
level = DeprecationLevel.ERROR,
)
public operator fun <C> List<DataColumn<C>>.get(range: IntRange): ColumnSet<C> =
ColumnsList(subList(range.first, range.last + 1))

// region select
// NOTE: due to invoke conflicts these cannot be moved out of the interface

Expand Down
134 changes: 0 additions & 134 deletions core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/all.kt
Original file line number Diff line number Diff line change
Expand Up @@ -45,20 +45,6 @@ import org.jetbrains.kotlinx.dataframe.impl.columns.addPath
import org.jetbrains.kotlinx.dataframe.impl.columns.onResolve
import org.jetbrains.kotlinx.dataframe.impl.columns.transform
import org.jetbrains.kotlinx.dataframe.impl.owner
import org.jetbrains.kotlinx.dataframe.util.COL_SELECT_DSL_ALL_COLS
import org.jetbrains.kotlinx.dataframe.util.COL_SELECT_DSL_ALL_COLS_AFTER
import org.jetbrains.kotlinx.dataframe.util.COL_SELECT_DSL_ALL_COLS_AFTER_REPLACE
import org.jetbrains.kotlinx.dataframe.util.COL_SELECT_DSL_ALL_COLS_BEFORE
import org.jetbrains.kotlinx.dataframe.util.COL_SELECT_DSL_ALL_COLS_BEFORE_REPLACE
import org.jetbrains.kotlinx.dataframe.util.COL_SELECT_DSL_ALL_COLS_FROM
import org.jetbrains.kotlinx.dataframe.util.COL_SELECT_DSL_ALL_COLS_FROM_REPLACE
import org.jetbrains.kotlinx.dataframe.util.COL_SELECT_DSL_ALL_COLS_REPLACE
import org.jetbrains.kotlinx.dataframe.util.COL_SELECT_DSL_ALL_COLS_UP_TO
import org.jetbrains.kotlinx.dataframe.util.COL_SELECT_DSL_ALL_COLS_UP_TO_REPLACE
import org.jetbrains.kotlinx.dataframe.util.COL_SELECT_DSL_ALL_FROM
import org.jetbrains.kotlinx.dataframe.util.COL_SELECT_DSL_ALL_FROM_REPLACE
import org.jetbrains.kotlinx.dataframe.util.COL_SELECT_DSL_ALL_UP_TO
import org.jetbrains.kotlinx.dataframe.util.COL_SELECT_DSL_ALL_UP_TO_REPLACE
import kotlin.reflect.KProperty

// region DataColumn
Expand Down Expand Up @@ -1187,126 +1173,6 @@ public interface AllColumnsSelectionDsl<out _UNUSED> {
public fun ColumnPath.allColsUpTo(column: KProperty<*>): ColumnSet<*> = columnGroup(this).allColsUpTo(column)

// endregion

// region deprecated

@Deprecated(
COL_SELECT_DSL_ALL_COLS,
ReplaceWith(COL_SELECT_DSL_ALL_COLS_REPLACE),
level = DeprecationLevel.ERROR,
)
public fun SingleColumn<DataRow<*>>.all(): TransformableColumnSet<*> = allCols()

@Deprecated(
COL_SELECT_DSL_ALL_COLS,
ReplaceWith(COL_SELECT_DSL_ALL_COLS_REPLACE),
level = DeprecationLevel.ERROR,
)
public fun String.all(): TransformableColumnSet<*> = allCols()

@Deprecated(
COL_SELECT_DSL_ALL_COLS_AFTER,
ReplaceWith(COL_SELECT_DSL_ALL_COLS_AFTER_REPLACE),
level = DeprecationLevel.ERROR,
)
public fun SingleColumn<DataRow<*>>.allAfter(column: ColumnPath): ColumnSet<*> = allColsAfter(column)

@Deprecated(
COL_SELECT_DSL_ALL_COLS_AFTER,
ReplaceWith(COL_SELECT_DSL_ALL_COLS_AFTER_REPLACE),
level = DeprecationLevel.ERROR,
)
public fun SingleColumn<DataRow<*>>.allAfter(column: String): ColumnSet<*> = allColsAfter(column)

@Deprecated(
COL_SELECT_DSL_ALL_COLS_AFTER,
ReplaceWith(COL_SELECT_DSL_ALL_COLS_AFTER_REPLACE),
level = DeprecationLevel.ERROR,
)
public fun SingleColumn<DataRow<*>>.allAfter(column: AnyColumnReference): ColumnSet<*> = allColsAfter(column)

@Deprecated(
COL_SELECT_DSL_ALL_COLS_BEFORE,
ReplaceWith(COL_SELECT_DSL_ALL_COLS_BEFORE_REPLACE),
level = DeprecationLevel.ERROR,
)
public fun SingleColumn<DataRow<*>>.allBefore(column: ColumnPath): ColumnSet<*> = allColsBefore(column)

@Deprecated(
COL_SELECT_DSL_ALL_COLS_BEFORE,
ReplaceWith(COL_SELECT_DSL_ALL_COLS_BEFORE_REPLACE),
level = DeprecationLevel.ERROR,
)
public fun SingleColumn<DataRow<*>>.allBefore(column: String): ColumnSet<*> = allColsBefore(column)

@Deprecated(
COL_SELECT_DSL_ALL_COLS_BEFORE,
ReplaceWith(COL_SELECT_DSL_ALL_COLS_BEFORE_REPLACE),
level = DeprecationLevel.ERROR,
)
public fun SingleColumn<DataRow<*>>.allBefore(column: AnyColumnReference): ColumnSet<*> = allColsBefore(column)

@Deprecated(COL_SELECT_DSL_ALL_FROM, ReplaceWith(COL_SELECT_DSL_ALL_FROM_REPLACE), level = DeprecationLevel.ERROR)
public fun ColumnsSelectionDsl<*>.allSince(column: ColumnPath): ColumnSet<*> = allFrom(column)

@Deprecated(COL_SELECT_DSL_ALL_FROM, ReplaceWith(COL_SELECT_DSL_ALL_FROM_REPLACE), level = DeprecationLevel.ERROR)
public fun ColumnsSelectionDsl<*>.allSince(column: String): ColumnSet<*> = allFrom(column)

@Deprecated(COL_SELECT_DSL_ALL_FROM, ReplaceWith(COL_SELECT_DSL_ALL_FROM_REPLACE), level = DeprecationLevel.ERROR)
public fun ColumnsSelectionDsl<*>.allSince(column: AnyColumnReference): ColumnSet<*> = allFrom(column)

@Deprecated(
COL_SELECT_DSL_ALL_COLS_FROM,
ReplaceWith(COL_SELECT_DSL_ALL_COLS_FROM_REPLACE),
level = DeprecationLevel.ERROR,
)
public fun SingleColumn<DataRow<*>>.allSince(column: ColumnPath): ColumnSet<*> = allColsFrom(column)

@Deprecated(
COL_SELECT_DSL_ALL_COLS_FROM,
ReplaceWith(COL_SELECT_DSL_ALL_COLS_FROM_REPLACE),
level = DeprecationLevel.ERROR,
)
public fun SingleColumn<DataRow<*>>.allSince(column: String): ColumnSet<*> = allColsFrom(column)

@Deprecated(
COL_SELECT_DSL_ALL_COLS_FROM,
ReplaceWith(COL_SELECT_DSL_ALL_COLS_FROM_REPLACE),
level = DeprecationLevel.ERROR,
)
public fun SingleColumn<DataRow<*>>.allSince(column: AnyColumnReference): ColumnSet<*> = allColsFrom(column)

@Deprecated(COL_SELECT_DSL_ALL_UP_TO, ReplaceWith(COL_SELECT_DSL_ALL_UP_TO_REPLACE), level = DeprecationLevel.ERROR)
public fun ColumnsSelectionDsl<*>.allUntil(column: ColumnPath): ColumnSet<*> = allUpTo(column)

@Deprecated(COL_SELECT_DSL_ALL_UP_TO, ReplaceWith(COL_SELECT_DSL_ALL_UP_TO_REPLACE), level = DeprecationLevel.ERROR)
public fun ColumnsSelectionDsl<*>.allUntil(column: String): ColumnSet<*> = allUpTo(column)

@Deprecated(COL_SELECT_DSL_ALL_UP_TO, ReplaceWith(COL_SELECT_DSL_ALL_UP_TO_REPLACE), level = DeprecationLevel.ERROR)
public fun ColumnsSelectionDsl<*>.allUntil(column: AnyColumnReference): ColumnSet<*> = allUpTo(column)

@Deprecated(
COL_SELECT_DSL_ALL_COLS_UP_TO,
ReplaceWith(COL_SELECT_DSL_ALL_COLS_UP_TO_REPLACE),
level = DeprecationLevel.ERROR,
)
public fun SingleColumn<DataRow<*>>.allUntil(column: ColumnPath): ColumnSet<*> = allColsUpTo(column)

@Deprecated(
COL_SELECT_DSL_ALL_COLS_UP_TO,
ReplaceWith(COL_SELECT_DSL_ALL_COLS_UP_TO_REPLACE),
level = DeprecationLevel.ERROR,
)
public fun SingleColumn<DataRow<*>>.allUntil(column: String): ColumnSet<*> = allColsUpTo(column)

@Deprecated(
COL_SELECT_DSL_ALL_COLS_UP_TO,
ReplaceWith(COL_SELECT_DSL_ALL_COLS_UP_TO_REPLACE),
level = DeprecationLevel.ERROR,
)
public fun SingleColumn<DataRow<*>>.allUntil(column: AnyColumnReference): ColumnSet<*> = allColsUpTo(column)

// endregion
}

/**
Expand Down
113 changes: 0 additions & 113 deletions core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/allExcept.kt
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,6 @@ import org.jetbrains.kotlinx.dataframe.impl.columns.transformSingle
import org.jetbrains.kotlinx.dataframe.util.ALL_COLS_EXCEPT
import org.jetbrains.kotlinx.dataframe.util.ALL_COLS_REPLACE
import org.jetbrains.kotlinx.dataframe.util.ALL_COLS_REPLACE_VARARG
import org.jetbrains.kotlinx.dataframe.util.COL_SELECT_DSL_EXCEPT
import org.jetbrains.kotlinx.dataframe.util.COL_SELECT_DSL_EXCEPT_REPLACE_RESOLVER
import org.jetbrains.kotlinx.dataframe.util.COL_SELECT_DSL_EXCEPT_REPLACE_SELECTOR
import org.jetbrains.kotlinx.dataframe.util.COL_SELECT_DSL_SINGLE_COL_EXCEPT
import org.jetbrains.kotlinx.dataframe.util.COL_SELECT_DSL_SINGLE_COL_EXCEPT_REPLACE_OTHER
import org.jetbrains.kotlinx.dataframe.util.COL_SELECT_DSL_SINGLE_COL_EXCEPT_REPLACE_OTHERS
import org.jetbrains.kotlinx.dataframe.util.COL_SELECT_DSL_SINGLE_COL_EXCEPT_REPLACE_RESOLVER
import org.jetbrains.kotlinx.dataframe.util.COL_SELECT_DSL_SINGLE_COL_EXCEPT_REPLACE_RESOLVERS
import org.jetbrains.kotlinx.dataframe.util.COL_SELECT_DSL_SINGLE_COL_EXCEPT_REPLACE_SELECTOR
import kotlin.reflect.KProperty

// region ColumnsSelectionDsl
Expand Down Expand Up @@ -1017,110 +1008,6 @@ public interface AllExceptColumnsSelectionDsl {
columnGroup(this).exceptExperimentalInternal(others.toColumnSet())

// endregion

// region deprecated

@Deprecated(
message = COL_SELECT_DSL_SINGLE_COL_EXCEPT,
replaceWith = ReplaceWith(COL_SELECT_DSL_SINGLE_COL_EXCEPT_REPLACE_SELECTOR),
level = DeprecationLevel.ERROR,
)
public infix fun <C> SingleColumn<DataRow<C>>.except(selector: ColumnsSelector<C, *>): ColumnSet<*> =
allColsExcept(selector)

@Deprecated(
message = COL_SELECT_DSL_SINGLE_COL_EXCEPT,
replaceWith = ReplaceWith(COL_SELECT_DSL_SINGLE_COL_EXCEPT_REPLACE_RESOLVER),
level = DeprecationLevel.ERROR,
)
public infix fun SingleColumn<DataRow<*>>.except(other: ColumnsResolver<*>): ColumnSet<*> = allColsExcept { other }

@Deprecated(
message = COL_SELECT_DSL_SINGLE_COL_EXCEPT,
replaceWith = ReplaceWith(COL_SELECT_DSL_SINGLE_COL_EXCEPT_REPLACE_RESOLVERS),
level = DeprecationLevel.ERROR,
)
public fun SingleColumn<DataRow<*>>.except(vararg others: ColumnsResolver<*>): ColumnSet<*> =
allColsExcept { others.toColumnSet() }

@Deprecated(
message = COL_SELECT_DSL_SINGLE_COL_EXCEPT,
replaceWith = ReplaceWith(COL_SELECT_DSL_SINGLE_COL_EXCEPT_REPLACE_OTHER),
level = DeprecationLevel.ERROR,
)
public infix fun SingleColumn<DataRow<*>>.except(other: String): ColumnSet<*> = allColsExcept(other)

@Deprecated(
message = COL_SELECT_DSL_SINGLE_COL_EXCEPT,
replaceWith = ReplaceWith(COL_SELECT_DSL_SINGLE_COL_EXCEPT_REPLACE_OTHERS),
level = DeprecationLevel.ERROR,
)
public fun SingleColumn<DataRow<*>>.except(vararg others: String): ColumnSet<*> = allColsExcept(*others)

@Deprecated(
message = COL_SELECT_DSL_SINGLE_COL_EXCEPT,
replaceWith = ReplaceWith(COL_SELECT_DSL_SINGLE_COL_EXCEPT_REPLACE_OTHER),
level = DeprecationLevel.ERROR,
)
public infix fun SingleColumn<DataRow<*>>.except(other: KProperty<*>): ColumnSet<*> = allColsExcept(other)

@Deprecated(
message = COL_SELECT_DSL_SINGLE_COL_EXCEPT,
replaceWith = ReplaceWith(COL_SELECT_DSL_SINGLE_COL_EXCEPT_REPLACE_OTHERS),
level = DeprecationLevel.ERROR,
)
public fun SingleColumn<DataRow<*>>.except(vararg others: KProperty<*>): ColumnSet<*> = allColsExcept(*others)

@Deprecated(
message = COL_SELECT_DSL_SINGLE_COL_EXCEPT,
replaceWith = ReplaceWith(COL_SELECT_DSL_SINGLE_COL_EXCEPT_REPLACE_OTHER),
level = DeprecationLevel.ERROR,
)
public infix fun SingleColumn<DataRow<*>>.except(other: ColumnPath): ColumnSet<*> = allColsExcept(other)

@Deprecated(
message = COL_SELECT_DSL_SINGLE_COL_EXCEPT,
replaceWith = ReplaceWith(COL_SELECT_DSL_SINGLE_COL_EXCEPT_REPLACE_OTHERS),
level = DeprecationLevel.ERROR,
)
public fun SingleColumn<DataRow<*>>.except(vararg others: ColumnPath): ColumnSet<*> = allColsExcept(*others)

@Deprecated(
message = COL_SELECT_DSL_EXCEPT,
replaceWith = ReplaceWith(COL_SELECT_DSL_EXCEPT_REPLACE_SELECTOR),
level = DeprecationLevel.ERROR,
)
public fun <C> ColumnsSelectionDsl<C>.except(selector: ColumnsSelector<C, *>): ColumnSet<*> = allExcept(selector)

@Deprecated(
message = COL_SELECT_DSL_EXCEPT,
replaceWith = ReplaceWith(COL_SELECT_DSL_EXCEPT_REPLACE_RESOLVER),
level = DeprecationLevel.ERROR,
)
public fun ColumnsSelectionDsl<*>.except(vararg others: ColumnsResolver<*>): ColumnSet<*> = allExcept(*others)

@Deprecated(
message = COL_SELECT_DSL_EXCEPT,
replaceWith = ReplaceWith(COL_SELECT_DSL_EXCEPT_REPLACE_RESOLVER),
level = DeprecationLevel.ERROR,
)
public fun ColumnsSelectionDsl<*>.except(vararg others: String): ColumnSet<*> = allExcept(*others)

@Deprecated(
message = COL_SELECT_DSL_EXCEPT,
replaceWith = ReplaceWith(COL_SELECT_DSL_EXCEPT_REPLACE_RESOLVER),
level = DeprecationLevel.ERROR,
)
public fun ColumnsSelectionDsl<*>.except(vararg others: KProperty<*>): ColumnSet<*> = allExcept(*others)

@Deprecated(
message = COL_SELECT_DSL_EXCEPT,
replaceWith = ReplaceWith(COL_SELECT_DSL_EXCEPT_REPLACE_RESOLVER),
level = DeprecationLevel.ERROR,
)
public fun ColumnsSelectionDsl<*>.except(vararg others: ColumnPath): ColumnSet<*> = allExcept(*others)

// endregion
}

/**
Expand Down
Loading
Loading