Coder Social home page Coder Social logo

anitrend / support-query-builder Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 1.0 784 KB

A simple SQLite spec compliant query builder that integrates with room to create raw queries

License: Apache License 2.0

Kotlin 100.00%
android anitrend annotation-processor entity kotlin processor query-builder rawquery room sqlite

support-query-builder's Issues

KSP migration in anticipation of Kotlin 2.x

Issue Guidelines

Before opening a new issue, please take a moment to review our community guidelines to make the contribution process easy and effective for everyone involved.

You may find an answer in already closed issues:
https://github.com/AniTrend/retrofit-graphql/issues?q=is%3Aissue+is%3Aclosed

Feature Information

Though there isn't any real threat of immediate deprecation or kapt in v1.8.0, in line with the deprecations and removals of features in v1.8.0 of Kotlin, we know that kapt has entered maintenance mode. This is a great opportunity to release a major version of this library as a stable update along with the new version of Kotlin

Solution Information

See documentation for getting started with KSP: https://kotlinlang.org/docs/ksp-overview.html

Additional context

We won't be changing any of the existing kotlin-poet implementations but rather just the annotation processing phase

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

This repository currently has no open or pending branches.

Detected dependencies

github-actions
.github/workflows/android-spotless.yml
  • actions/checkout v4
  • actions/setup-java v4
  • gradle/gradle-build-action v3
.github/workflows/android-test.yml
  • actions/checkout v4
  • actions/setup-java v4
  • gradle/gradle-build-action v3
  • mikepenz/action-junit-report v4
.github/workflows/auto-approve.yml
  • hmarr/auto-approve-action v3
.github/workflows/first-contribution-greeting.yaml
  • actions/first-interaction v1
.github/workflows/gradle-dokka.yml
  • actions/checkout v4
  • actions/setup-java v4
  • gradle/gradle-build-action v3
  • JamesIves/github-pages-deploy-action v4.6.3
.github/workflows/gradle-wrapper-validation.yaml
  • actions/checkout v4
  • gradle/wrapper-validation-action v3
.github/workflows/release-drafter.yml
  • release-drafter/release-drafter v6
  • peter-evans/repository-dispatch v3
.github/workflows/stale.yml
  • actions/stale v9
.github/workflows/version-updater.yaml
  • actions/checkout v4
  • peter-evans/create-pull-request v6
gradle
buildSrc/src/main/java/co/anitrend/support/query/builder/buildSrc/extension/DependencyHandlerExtensions.kt
buildSrc/src/main/java/co/anitrend/support/query/builder/buildSrc/extension/ProjectExtensions.kt
buildSrc/src/main/java/co/anitrend/support/query/builder/buildSrc/module/Modules.kt
buildSrc/src/main/java/co/anitrend/support/query/builder/buildSrc/plugins/CorePlugin.kt
buildSrc/src/main/java/co/anitrend/support/query/builder/buildSrc/plugins/components/ProjectConfiguration.kt
buildSrc/src/main/java/co/anitrend/support/query/builder/buildSrc/plugins/components/ProjectDependencies.kt
buildSrc/src/main/java/co/anitrend/support/query/builder/buildSrc/plugins/components/ProjectLint.kt
buildSrc/src/main/java/co/anitrend/support/query/builder/buildSrc/plugins/components/ProjectMaven.kt
buildSrc/src/main/java/co/anitrend/support/query/builder/buildSrc/plugins/components/ProjectPlugins.kt
buildSrc/src/main/java/co/anitrend/support/query/builder/buildSrc/plugins/components/ProjectProperties.kt
buildSrc/src/main/java/co/anitrend/support/query/builder/buildSrc/plugins/components/ProjectSources.kt
buildSrc/src/main/java/co/anitrend/support/query/builder/buildSrc/plugins/components/ProjectSpotless.kt
buildSrc/src/main/java/co/anitrend/support/query/builder/buildSrc/plugins/resolver/ConfigurationResolver.kt
buildSrc/src/main/java/co/anitrend/support/query/builder/buildSrc/plugins/strategy/DependencyStrategy.kt
gradle.properties
settings.gradle.kts
build.gradle.kts
annotations/build.gradle.kts
buildSrc/settings.gradle.kts
buildSrc/build.gradle.kts
core/build.gradle.kts
core-ext/build.gradle.kts
gradle/libs.versions.toml
  • com.jakewharton.timber:timber 5.0.1
  • junit:junit 4.13.2
  • com.android.tools.build:gradle 8.5.1
  • androidx.activity:activity-ktx 1.9.0
  • androidx.appcompat:appcompat 1.7.0
  • androidx.appcompat:appcompat-resources 1.7.0
  • androidx.constraintlayout:constraintlayout 2.1.4
  • androidx.fragment:fragment-ktx 1.8.1
  • androidx.lifecycle:lifecycle-extensions 2.2.0
  • androidx.lifecycle:lifecycle-runtime-ktx 2.8.3
  • androidx.lifecycle:lifecycle-livedata-ktx 2.8.3
  • androidx.lifecycle:lifecycle-livedata-core-ktx 2.8.3
  • androidx.navigation:navigation-fragment-ktx 2.7.7
  • androidx.navigation:navigation-ui-ktx 2.7.7
  • androidx.room:room-compiler 2.6.1
  • androidx.room:room-common 2.6.1
  • androidx.room:room-runtime 2.6.1
  • androidx.room:room-ktx 2.6.1
  • androidx.sqlite:sqlite 2.4.0
  • androidx.sqlite:sqlite-ktx 2.4.0
  • androidx.test:core 1.6.1
  • androidx.test:core-ktx 1.6.1
  • androidx.test:runner 1.6.1
  • androidx.test:rules 1.6.1
  • androidx.test.ext:junit-ktx 1.2.1
  • com.google.auto.service:auto-service 1.1.1
  • com.google.android.material:material 1.12.0
  • org.jetbrains.dokka:dokka-gradle-plugin 1.9.20
  • org.jetbrains.kotlin:kotlin-stdlib-jdk8 2.0.0
  • org.jetbrains.kotlin:kotlin-reflect 2.0.0
  • org.jetbrains.kotlin:kotlin-gradle-plugin 2.0.0
  • io.mockk:mockk 1.13.12
  • io.mockk:mockk-android 1.13.12
  • com.github.ben-manes:gradle-versions-plugin 0.51.0
  • com.diffplug.spotless:spotless-plugin-gradle 6.25.0
  • com.squareup:kotlinpoet 1.18.1
  • com.github.tschuchortdev:kotlin-compile-testing 1.6.0
  • de.mannodermaus.gradle.plugins:android-junit5 1.10.0.0
  • org.spekframework.spek2:spek-dsl-jvm 2.0.19
  • org.spekframework.spek2:spek-runner-junit5 2.0.19
  • com.pinterest:ktlint 1.1.1
  • de.mannodermaus.android-junit5 1.10.0.0
processor/build.gradle.kts
sample/build.gradle.kts
gradle-wrapper
gradle/wrapper/gradle-wrapper.properties
  • gradle 8.9

  • Check this box to trigger a request for Renovate to run again on this repository

Migrate to version catalogues for buildSrc

Issue Guidelines

Before opening a new issue, please take a moment to review our community guidelines to make the contribution process easy and effective for everyone involved.

You may find an answer in already closed issues:
https://github.com/AniTrend/retrofit-graphql/issues?q=is%3Aissue+is%3Aclosed

Feature Information

Currently we still use Library versions in buildSrc which we have to manually update using manesVersion to figure out available updates

Solution Information

Refer to this doc for additional context: https://docs.gradle.org/current/userguide/platforms.html also see example PR

[core] Remove unnecessary parentheses to group conditions

AniTrend Issue Guidelines

Before opening a new issue, please take a moment to review our community guidelines to make the contribution process easy and effective for everyone involved.

You may find an answer in issues:
https://github.com/AniTrend/support-query-builder/issues?q=is%3Aissue+is%3Aclosed

Enhancement Information

In the core module when we use parentheses for criteria (primarily for AND and OR operators) to explicitly specify the order of evaluation for conditions in a WHERE clause.

Example:

  • (column_name = 'something' AND column_name LIKE '%pe')

column_name = 'something' AND column_name LIKE '%pe' ๐Ÿ‘ˆ๐Ÿฟ Ideal

In most SQL databases, including common ones like MySQL, PostgreSQL, and SQL Server, using parentheses in this context doesn't affect the query's performance. The database query optimiser will understand the logical order of operations and will execute the conditions correctly in both cases.

Additional Context

So, in our example, whether you we parentheses or not, the performance should be the same, and the results will be identical. It's primarily a matter of personal preference and readability, for this sake we'd like to stick to the norm.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.