Code Monkey home page Code Monkey logo

sqiffy's Introduction

sqiffy's People

Contributors

dzikoysk avatar p3ridot avatar rollczi avatar wcaleniewolny avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

wcaleniewolny

sqiffy's Issues

Support custom functions in DSL

Sth like:

CustomFunction fn = CustomFunction("COUNT($1)", UserTableNames.ID)

database
  .select(UserTable)
  .slice(fn)
  .groupBy(fn)
  .map { it[fn] }

Shared transactions

Transactions between different domains should be avoided for several reasons, but if it's absolutely necessary, Sqiffy could provide relatively convinient wrapper for transaction context around Jdbi API.

Current workaround: Create dedicated data layer that combines affected domains & use raw Jdbi instance to interact with jdbc transactions.

Support Java

Provide bindings for regular annotation processor & kapt.

Support SQLite

SQLite is relatively bad solution for a database that will be updated in the future due to:

  • Lack of quite a lot of crucial types
  • Enums are not supported
  • RETYPE operation would be limited to a given group of type affinities: https://www.sqlite.org/datatype3.html
  • Constraints update require redeclaration of the whole table & full copy of its content
    • Currently, Sqiffy uses a workaround with a modification of table scheme stored in sqlite_master. (experimental)
  • Inserts does not return autogenerated keys, so it requires additional select in the transaction to properly obtain last inserted row record

Todo:

  • Provide a strict mode that forbids to use features that are not directly supported by this db
    • Enums
    • Constraint updates
    • Column type changes

Add VARCHAR validation in property

If you do not specify the length of the VARCHAR data type which is details, it will currently result in varchar(null) and cause exceptions to be thrown in the console.

Generate dto class from entity

  • User should be able to exclude fields from DTO
  • Entity should contain method toDto()
  • DTO should be able to implement selected interfaces

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.