Opened 9 years ago

Closed 9 years ago

#845 closed enhancement (fixed)

Type management via rasql instead of rasdl

Reported by: Vlad Merticariu Owned by: George Merticariu
Priority: major Milestone: 10.0
Component: qlparser Version: development
Keywords: Cc: Peter Baumann
Complexity: Medium

Description

Type information and creation should be available through rasql.

Change History (8)

comment:1 by Dimitar Misev, 9 years ago

Cc: Peter Baumann added
Component: undecidedqlparser

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 9 years ago by Dimitar Misev (previous) (diff)

comment:2 by Dimitar Misev, 9 years ago

Milestone: 10.0
Priority: minormajor
Type: featureenhancement

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 by Dimitar Misev, 9 years ago

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

comment:4 by Vlad Merticariu, 9 years ago

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 by Peter Baumann, 9 years ago

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 create_db.sh 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 9 years ago by Peter Baumann (previous) (diff)

comment:6 by Dimitar Misev, 9 years ago

Owner: changed from Vlad Merticariu to George Merticariu
Status: newassigned
Summary: make rasdl available through rasqlType 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 by Dimitar Misev, 9 years ago

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 by George Merticariu, 9 years ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.