Project

General

Profile

Actions

Architecture #2787

closed

Use Doobie or Slick in place of SpringTemplate / squeryl / pur JDBC

Added by François ARMAND over 11 years ago. Updated over 7 years ago.

Status:
Released
Priority:
N/A
Category:
Architecture - Code maintenance
Target version:
Effort required:
Name check:
Fix check:
Regression:

Description

Since we use squeryl, we have a BUNCH of problem with it. On the other hand, using SpringTemplate is really not the scala-way, and we really would like to be as indenpendant as possible from Spring.

And Typesafe just provided SLICK ( http://slick.typesafe.com/ ), that seems to have a lot of things for it:

  • its commercially supported by typesafe, and so we should not have to worry about it being discontinued;
  • it allows statically check queries like squeryl
  • but also simple fallback to plain SQL when needed

Subtasks 7 (0 open7 closed)

Bug #9259: Removal of maven parameter for database testReleasedNicolas CHARLES2016-10-07Actions
Bug #9263: Error on report batch: NULL for non option type & on eventlogReleasedNicolas CHARLES2016-10-07Actions
Bug #9275: Could not update the rules historization information in baseReleasedFrançois ARMAND2016-10-07Actions
Bug #9281: Error when generating policies: java.util.NoSuchElementException: key not found: XXXXReleasedNicolas CHARLES2016-10-07Actions
Bug #9287: Database size doesn't show up on the Reports databaseReleasedFrançois ARMAND2016-10-09Actions
Bug #9288: Jobs are failling to clean database ReleasedFrançois ARMAND2016-10-09Actions
Bug #9477: Empty table rudderpropertiesReleasedFrançois ARMAND2016-10-20Actions

Related issues 1 (0 open1 closed)

Blocked by Rudder - Architecture #3229: Switch to Scala 2.10ReleasedFrançois ARMAND2013-02-05Actions
Actions #1

Updated by François ARMAND almost 11 years ago

  • Assignee deleted (François ARMAND)
Actions #2

Updated by François ARMAND about 8 years ago

Some tests show that slick is not that user friendly, and version 3.0 is quite "reactive" opiniated. So I'm not sure at all that we want that.

On the other hand, we can't keep 4 DB drivers (slick, squeryl, spring, pure jdbc), that's unsane.

I propose to:
- by default, use doobie now (https://github.com/tpolecat/doobie \o/ a new one \o/. But it seems to be the nearest things to pure jdbc, with a nice scala layer, and astonishing performances, and support for postgres arrays)
- remove slick completelly. It's only used in test, that should be quick.
- then, remove squeryl
- then, sping
- profit !

Actions #3

Updated by François ARMAND about 8 years ago

  • Subject changed from Use SLICK in place of SpringTemplate / squeryl to Use Doobie in place of SpringTemplate / squeryl
  • Target version changed from Ideas (not version specific) to 4.0.0~rc2
Actions #4

Updated by François ARMAND about 8 years ago

  • Status changed from New to In progress
  • Assignee set to François ARMAND
Actions #5

Updated by François ARMAND about 8 years ago

  • Subject changed from Use Doobie in place of SpringTemplate / squeryl to Use Doobie or Slick in place of SpringTemplate / squeryl

Testing Doobie leads to so-so results. And slick is nearer than squeryl in way of doing things, so perhaps the transition would be easier.

Actions #6

Updated by François ARMAND about 8 years ago

  • Subject changed from Use Doobie or Slick in place of SpringTemplate / squeryl to Use Doobie or Slick in place of SpringTemplate / squeryl / pur JDBC
Actions #7

Updated by François ARMAND over 7 years ago

  • Status changed from In progress to Pending technical review
  • Assignee changed from François ARMAND to Vincent MEMBRÉ
  • Pull Request set to https://github.com/Normation/rudder/pull/1184
Actions #8

Updated by François ARMAND over 7 years ago

  • Status changed from Pending technical review to Pending release
  • % Done changed from 0 to 100
Actions #9

Updated by Benoît PECCATTE over 7 years ago

  • Target version changed from 4.0.0~rc2 to 318
Actions #10

Updated by Vincent MEMBRÉ over 7 years ago

  • Target version changed from 318 to 4.0.0~rc2
Actions #11

Updated by Vincent MEMBRÉ over 7 years ago

  • Target version changed from 4.0.0~rc2 to 4.0.0~rc1
Actions #12

Updated by Alexis Mousset over 7 years ago

  • Status changed from Pending release to Released

This bug has been fixed in Rudder 4.0.0 which was released the 10th November 2016.

Actions

Also available in: Atom PDF