Opened 3 years ago

Closed 2 years ago

#845 closed enhancement (fixed)

Type management via rasql instead of rasdl

Reported by: vmerticariu Owned by: gmerticariu
Priority: major Milestone: 10.0
Component: qlparser Version: development
Keywords: Cc: pbaumann
Complexity: Medium


Type information and creation should be available through rasql.

Change History (8)

comment:1 Changed 3 years ago by dmisev

  • Cc pbaumann added
  • Component changed from undecided to qlparser

I can't wait for this :) Basically the rasdl parser should be migrated to qlparser.
What is the time plan for doing it? We should assign it to a milestone.

Did you think about how to do this? I see two options

  1. specify type definition file (like with rasdl): rasql -q 'insert types $1' -f types.dl
  2. directly allow typedef statements, e.g: rasql -q 'typedef marray <char, 2> GreyImage'

I think I'd prefer 2.

Last edited 3 years ago by dmisev (previous) (diff)

comment:2 Changed 3 years ago by dmisev

  • Milestone set to 10.0
  • Priority changed from minor to major
  • Type changed from feature to enhancement

Also we need database creation/deletion

rasql -q 'create database RASBASE'

rasql -q 'drop database RASBASE'

however rasserver needs to be adapted for this, currently it cannot be started if RASBASE has not been initialized previously.

comment:3 Changed 3 years ago by dmisev

We might think of integrating the database creating into the scripts though, would be more consistent with petascope and we don't need modification of rasserver.

comment:4 Changed 3 years ago by vmerticariu

Unfortunately no time plan for now. If we go for migrating the rasdl parser into rasql I agree that solution 2 makes sense.

comment:5 Changed 3 years ago by pbaumann

on my Xmas wishlist since so many years, definitely good to raise this!

Agreed that #2 is preferrable.
Mainly, rasdl needs to be merged into the server - the client interface wouldn't be affected.

For DB creation, I'd suggest to simply change the script to run rasql statements instead of rasql invocation.
Putting database creation into the release update scripts hides it too deeply and interweaves separate concerns (initialization and software version management).

Last edited 3 years ago by pbaumann (previous) (diff)

comment:6 Changed 3 years ago by dmisev

  • Owner changed from vmerticariu to gmerticariu
  • Status changed from new to assigned
  • Summary changed from make rasdl available through rasql to Type management via rasql instead of rasdl

So first step is to collect the requirements regarding type management: creating and deleting types (base, array and collection types), and retrieving type information (e.g. DESCRIBE TYPE ...). We should take into account how this is done in SQL (and SQL/MDA).

Special collection type might go out unless this is too much work (I have a feeling we would need to change raslib/rasj API for this, not sure).

Creating and dropping RASBASE has nothing to do with type management, so I'd say that should stay in rasdl for now.

comment:7 Changed 3 years ago by dmisev

Also ALTER TYPE could be supported, to allow renaming type names, and changing dimensionality and base type (as long as the type is not already used by any objects).

comment:8 Changed 2 years ago by gmerticariu

  • Resolution set to fixed
  • Status changed from assigned to closed
Note: See TracTickets for help on using tickets.