GithubHelp home page GithubHelp logo

courseorchestra / celesta Goto Github PK

View Code? Open in Web Editor NEW
69.0 6.0 17.0 16.79 MB

DB migrations, SQL & testing for Java

Home Page: https://courseorchestra.github.io/celesta/en

License: GNU Lesser General Public License v3.0

Java 99.93% HTML 0.02% Shell 0.06%
database-testing firebird-database h2-database java-library migrations mssql oracle-database orm posrgresql sql

celesta's People

Contributors

abogatov avatar alexxl1986 avatar anlug1 avatar curs-jenkins avatar cursboris avatar dependabot-preview[bot] avatar dependabot[bot] avatar ezhov-da avatar inponomarev avatar ioanngolovko avatar iryndin avatar packpaul avatar sergioboro avatar sergioborodani 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  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  avatar  avatar  avatar  avatar  avatar

celesta's Issues

Implement WITH NO AUTOUPDATE for CREATE GRAIN in CelestaSQL

We now have WITH NO AUTOUPDATE postfix for CREATE TABLE clause. This forces Celesta to skip table structure update during initialization.

We also need [WITH [NO] AUTOUPDATE] postfix for CREATE GRAIN clause. NO AUTOUPDATE, if set, should override the setting from celesta.grains table and always skip the grain update. WITH AUTOUPDATE should be simply ignored (should work as it works now with no postfix).

Implementation of this issue should involve an automated test on H2 database with the following outline:

  1. initialize Celesta with H2 / scoreV1 and grains A, B, C
  2. set lock status (4) for grain A in celesta.grains
  3. do not shut down H2, re-initialize Celesta with H2 / scoreV2 with modified grains A, B, C; grain A with autoupdate, grain B with no autoupdate.
  4. verify that grain A and B are not updated, grain C is updated.

CelestaSQL documentation should also be updated.

Build fails

On a clean laptop, I clone the project and run mvn test.
Build fails.

celesta>mvn test
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO] 
[INFO] celesta-parent                                                     [pom]
[INFO] celesta-documentation                                              [jar]
[INFO] celesta-sql                                                        [jar]
[INFO] celesta-core                                                       [jar]
[INFO] celesta-maven-plugin                                      [maven-plugin]
[INFO] celesta-system-services                                            [jar]
[INFO] celesta-unit                                                       [jar]
[INFO] celesta-test                                                       [jar]
[INFO] coverage-report                                                    [pom]
[INFO] 
[INFO] -----------------------< ru.curs:celesta-parent >-----------------------
[INFO] Building celesta-parent 7.4.39-SNAPSHOT                            [1/9]
[INFO]   from pom.xml

...

[INFO] asciidoctor: ERROR: synsql.adoc: line 5: Failed to generate image: Could not find the 'syntrax' executable in PATH; add it to the PATH or specify its location using the 'syntrax' document attribute
[INFO] asciidoctor: ERROR: synsql.adoc: line 31: Failed to generate image: no implicit conversion of nil into String
[INFO] asciidoctor: ERROR: synsql.adoc: line 44: Failed to generate image: no implicit conversion of nil into String
[INFO] asciidoctor: ERROR: synsql.adoc: line 63: Failed to generate image: no implicit conversion of nil into String
[INFO] asciidoctor: ERROR: synsql.adoc: line 78: Failed to generate image: no implicit conversion of nil into String
[INFO] asciidoctor: ERROR: synsql.adoc: line 96: Failed to generate image: no implicit conversion of nil into String
[INFO] asciidoctor: ERROR: synsql.adoc: line 132: Failed to generate image: no implicit conversion of nil into String
[INFO] asciidoctor: ERROR: synsql.adoc: line 466: Failed to generate image: no implicit conversion of nil into String
[INFO] asciidoctor: ERROR: synsql.adoc: line 156: Failed to generate image: no implicit conversion of nil into String
[INFO] asciidoctor: ERROR: synsql.adoc: line 164: Failed to generate image: no implicit conversion of nil into String
[INFO] asciidoctor: ERROR: synsql.adoc: line 177: Failed to generate image: no implicit conversion of nil into String
[INFO] asciidoctor: ERROR: synsql.adoc: line 190: Failed to generate image: no implicit conversion of nil into String

[INFO] Converted /Users/andrei/projects/celesta/celesta-documentation/src/main/asciidoc/ru/0000_Celesta.adoc
[ERROR] asciidoctor: ERROR: synsql.adoc: line 5: Failed to generate image: Could not find the 'syntrax' executable in PATH; add it to the PATH or specify its location using the 'syntrax' document attribute

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  4.377 s
[INFO] Finished at: 2023-06-27T19:26:21+03:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.asciidoctor:asciidoctor-maven-plugin:2.2.4:process-asciidoc (asciidoc-to-html-ru) on project celesta-documentation: Found 42 issue(s) of severity WARN or higher during conversion -> [Help 1]

Improve celesta-maven-plugin

There is a little trouble during the using of command "mvn celesta:gen-cursors" outside of maven life cycle.
In this case mojo fails with NPE.

JUnit 5 test extensions can lose track of storage

When JUnit 5 test extensions store state into JUnit context storage at the test level (as opposed to method level), they use the class as a key rather than the class instance:

https://github.com/eeverman/andhow/blob/d632675b561331e1aa3fd6033e68edb87b818b57/andhow-junit5-extensions/src/main/java/org/yarnandtail/andhow/junit5/ext/ExtensionBase.java#L23

Multithreaded tests could easily lose track of storage. This is more of a theoretical issue, since AndHow cannot really support parallelized testing due to the singleton model.

Remove IDENTITY support from Celesta 7

Time has come to remove undocumented and deprecated support of IDENTITY keyword from Celesta 7,
together with clumsy sequences imitation for older versions of MS SQL (table sequences in celesta.sql and auto-generated SequencesCursor, and everything that uses them).

This involves re-writing of tests that use IDENTITY keyword for CREATE SEQUENCE-DEFAULT NEXTVAL as described here.

Add test utils

  1. Replace tests from module celesta-test to actual tested modules.
  2. Discuss needed features and implement them.
    2.1. The first good feature - drop and reinit database after each test. This will be useful when working with sequences.

RDBMS specific features

Hi - I'm looking at Celesta for a work project. We use PostGreSQL, but we use several features that it doesn't look like Celesta supports:

  • spatial columns
  • partitions
  • advanced indexing features

Is there any way to way to inject some vendor specific DDL into the Celesta SQL? Or are there other strategies for dealing with these types of features with Celesta?

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.