You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Kristian Waagan (JIRA)" <ji...@apache.org> on 2009/03/09 16:56:51 UTC

[jira] Created: (DERBY-4084) Determine the subSubProtocol name for the in-memory back end

Determine the subSubProtocol name for the in-memory back end
------------------------------------------------------------

                 Key: DERBY-4084
                 URL: https://issues.apache.org/jira/browse/DERBY-4084
             Project: Derby
          Issue Type: Sub-task
    Affects Versions: 10.5.0.0
            Reporter: Kristian Waagan


The community should agree on a name for the subSubProtocol for the in-memory back end. The name will be used in the connection URL, and it is the mechanism used to tell Derby to use the in-memory back end:
jdbc:derby:subSubProtocol:dbName

Two hot candidates are:
 o mem
 o memory

The former is shorter, the latter is slightly more descriptive. If you have opinions on this, please post a comment.
We should decide on this before we cut the branch for 10.5.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (DERBY-4084) Determine the subSubProtocol name for the in-memory back end

Posted by "Knut Anders Hatlen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DERBY-4084?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12680598#action_12680598 ] 

Knut Anders Hatlen commented on DERBY-4084:
-------------------------------------------

My vote goes to "memory" because 

1) It's sufficiently easy to type (short and no special characters)
2) It's consistent with the other sub-protocols (they're not named "in-jar" or "in-classpath")
3) It's sufficiently descriptive (I feel that the proper place to describe this feature is in the documentation, not in the URL ;)

But I'm fine with any of the alternatives suggested so far.

> Determine the subSubProtocol name for the in-memory back end
> ------------------------------------------------------------
>
>                 Key: DERBY-4084
>                 URL: https://issues.apache.org/jira/browse/DERBY-4084
>             Project: Derby
>          Issue Type: Sub-task
>    Affects Versions: 10.5.0.0
>            Reporter: Kristian Waagan
>
> The community should agree on a name for the subSubProtocol for the in-memory back end. The name will be used in the connection URL, and it is the mechanism used to tell Derby to use the in-memory back end:
> jdbc:derby:subSubProtocol:dbName
> Two hot candidates are:
>  o mem
>  o memory
> The former is shorter, the latter is slightly more descriptive. If you have opinions on this, please post a comment.
> We should decide on this before we cut the branch for 10.5.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (DERBY-4084) Determine the subSubProtocol name for the in-memory back end

Posted by "Kristian Waagan (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-4084?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kristian Waagan closed DERBY-4084.
----------------------------------

    Resolution: Fixed

> Determine the subSubProtocol name for the in-memory back end
> ------------------------------------------------------------
>
>                 Key: DERBY-4084
>                 URL: https://issues.apache.org/jira/browse/DERBY-4084
>             Project: Derby
>          Issue Type: Sub-task
>          Components: JDBC
>    Affects Versions: 10.5.0.0
>            Reporter: Kristian Waagan
>             Fix For: 10.5.0.0
>
>         Attachments: derby-4084-1a-subSubProtocol_name.diff
>
>
> The community should agree on a name for the subSubProtocol for the in-memory back end. The name will be used in the connection URL, and it is the mechanism used to tell Derby to use the in-memory back end:
> jdbc:derby:subSubProtocol:dbName
> Two hot candidates are:
>  o mem
>  o memory
> The former is shorter, the latter is slightly more descriptive. If you have opinions on this, please post a comment.
> We should decide on this before we cut the branch for 10.5.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (DERBY-4084) Determine the subSubProtocol name for the in-memory back end

Posted by "Rick Hillegas (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DERBY-4084?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12680191#action_12680191 ] 

Rick Hillegas commented on DERBY-4084:
--------------------------------------

Our other subprotocols seem to be descriptive (e.g., "directory", "classpath", "jar") so I vote for another descriptive name. I think that "memory" is fine.

Bryan raises the issue of how we distinguish the transient in-memory database (implemented by Kristian's patch) from Cheng's implementation, which snapshots the database to disk on exit. Initially, I thought that the subprotocol would be a reasonable place to make this distinction. However, maybe it would be better to distinguish the two behaviors with other attributes on the connection URL. For instance, we could introduce two new attributes:

loadFrom=blahblahblah
saveOnExit=blahblahblah


> Determine the subSubProtocol name for the in-memory back end
> ------------------------------------------------------------
>
>                 Key: DERBY-4084
>                 URL: https://issues.apache.org/jira/browse/DERBY-4084
>             Project: Derby
>          Issue Type: Sub-task
>    Affects Versions: 10.5.0.0
>            Reporter: Kristian Waagan
>
> The community should agree on a name for the subSubProtocol for the in-memory back end. The name will be used in the connection URL, and it is the mechanism used to tell Derby to use the in-memory back end:
> jdbc:derby:subSubProtocol:dbName
> Two hot candidates are:
>  o mem
>  o memory
> The former is shorter, the latter is slightly more descriptive. If you have opinions on this, please post a comment.
> We should decide on this before we cut the branch for 10.5.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (DERBY-4084) Determine the subSubProtocol name for the in-memory back end

Posted by "Francois Orsini (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DERBY-4084?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12681013#action_12681013 ] 

Francois Orsini commented on DERBY-4084:
----------------------------------------

+1 for 'memory'. To me it is descriptive enough and it says that if I have had writes to this database, I will loose them in case of a crash.

Note that other RDBMS supporting the in-memory mention in the JDBC connection URL such as h2 or hsqldb uses 'mem'.

> Determine the subSubProtocol name for the in-memory back end
> ------------------------------------------------------------
>
>                 Key: DERBY-4084
>                 URL: https://issues.apache.org/jira/browse/DERBY-4084
>             Project: Derby
>          Issue Type: Sub-task
>    Affects Versions: 10.5.0.0
>            Reporter: Kristian Waagan
>
> The community should agree on a name for the subSubProtocol for the in-memory back end. The name will be used in the connection URL, and it is the mechanism used to tell Derby to use the in-memory back end:
> jdbc:derby:subSubProtocol:dbName
> Two hot candidates are:
>  o mem
>  o memory
> The former is shorter, the latter is slightly more descriptive. If you have opinions on this, please post a comment.
> We should decide on this before we cut the branch for 10.5.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (DERBY-4084) Determine the subSubProtocol name for the in-memory back end

Posted by "Kristian Waagan (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-4084?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kristian Waagan updated DERBY-4084:
-----------------------------------

      Component/s: JDBC
    Fix Version/s: 10.5.0.0

Committed patch 1a to trunk with revision 753195.

> Determine the subSubProtocol name for the in-memory back end
> ------------------------------------------------------------
>
>                 Key: DERBY-4084
>                 URL: https://issues.apache.org/jira/browse/DERBY-4084
>             Project: Derby
>          Issue Type: Sub-task
>          Components: JDBC
>    Affects Versions: 10.5.0.0
>            Reporter: Kristian Waagan
>             Fix For: 10.5.0.0
>
>         Attachments: derby-4084-1a-subSubProtocol_name.diff
>
>
> The community should agree on a name for the subSubProtocol for the in-memory back end. The name will be used in the connection URL, and it is the mechanism used to tell Derby to use the in-memory back end:
> jdbc:derby:subSubProtocol:dbName
> Two hot candidates are:
>  o mem
>  o memory
> The former is shorter, the latter is slightly more descriptive. If you have opinions on this, please post a comment.
> We should decide on this before we cut the branch for 10.5.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (DERBY-4084) Determine the subSubProtocol name for the in-memory back end

Posted by "Kristian Waagan (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DERBY-4084?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12680283#action_12680283 ] 

Kristian Waagan commented on DERBY-4084:
----------------------------------------

Rick wrote:
-----
Bryan raises the issue of how we distinguish the transient in-memory database (implemented by Kristian's patch) from Cheng's implementation, which snapshots the database to disk on exit.
-----
To clarify, I'm hoping to incorporate Cheng's features into the Derby code line, possibly with help from Cheng himself. Note that the database won't be saved to disk on exit by default, you have to set a property to do that (I think in Cheng's patch it was a system property).
Regardless of whether such a feature is added or not, the database must be considered transient. A crash or abnormal VM shutdown will cause [all] data to be lost.

Also note that even without the specific feature mentioned, the user can explicitly "snapshot" the database by invoking Derby's existing backup routine(s), and then restore the database on boot/creation (for instance by using the createFrom URL attribute). The difference between the save on exit feature and the backup mechanism, is that the former is automatic on shutdown. I don't think the existing backup routines can be easily invoked from the in-memory storage engine.


Thanks for the comments so far, and keep'em coming ;)

> Determine the subSubProtocol name for the in-memory back end
> ------------------------------------------------------------
>
>                 Key: DERBY-4084
>                 URL: https://issues.apache.org/jira/browse/DERBY-4084
>             Project: Derby
>          Issue Type: Sub-task
>    Affects Versions: 10.5.0.0
>            Reporter: Kristian Waagan
>
> The community should agree on a name for the subSubProtocol for the in-memory back end. The name will be used in the connection URL, and it is the mechanism used to tell Derby to use the in-memory back end:
> jdbc:derby:subSubProtocol:dbName
> Two hot candidates are:
>  o mem
>  o memory
> The former is shorter, the latter is slightly more descriptive. If you have opinions on this, please post a comment.
> We should decide on this before we cut the branch for 10.5.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (DERBY-4084) Determine the subSubProtocol name for the in-memory back end

Posted by "Kristian Waagan (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-4084?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kristian Waagan updated DERBY-4084:
-----------------------------------

    Attachment: derby-4084-1a-subSubProtocol_name.diff

Patch 1a changes the subSubProtocol name to 'memory'.
A typical connection JDBC URL (for the embedded driver) will then be 'jdbc:derby:memory:wombatDb'.

> Determine the subSubProtocol name for the in-memory back end
> ------------------------------------------------------------
>
>                 Key: DERBY-4084
>                 URL: https://issues.apache.org/jira/browse/DERBY-4084
>             Project: Derby
>          Issue Type: Sub-task
>    Affects Versions: 10.5.0.0
>            Reporter: Kristian Waagan
>         Attachments: derby-4084-1a-subSubProtocol_name.diff
>
>
> The community should agree on a name for the subSubProtocol for the in-memory back end. The name will be used in the connection URL, and it is the mechanism used to tell Derby to use the in-memory back end:
> jdbc:derby:subSubProtocol:dbName
> Two hot candidates are:
>  o mem
>  o memory
> The former is shorter, the latter is slightly more descriptive. If you have opinions on this, please post a comment.
> We should decide on this before we cut the branch for 10.5.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (DERBY-4084) Determine the subSubProtocol name for the in-memory back end

Posted by "Dag H. Wanvik (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DERBY-4084?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12680202#action_12680202 ] 

Dag H. Wanvik commented on DERBY-4084:
--------------------------------------

I like Bryan's 3rd suggestion:

  jdbc:derby:in-memory:mydb

it says it all, I think.

Both transient and non-persistent, are not necessarily accurate, if the feature to save
on disk at shutdown is implemented and used (or when using backup), so I prefer "in-memory".



> Determine the subSubProtocol name for the in-memory back end
> ------------------------------------------------------------
>
>                 Key: DERBY-4084
>                 URL: https://issues.apache.org/jira/browse/DERBY-4084
>             Project: Derby
>          Issue Type: Sub-task
>    Affects Versions: 10.5.0.0
>            Reporter: Kristian Waagan
>
> The community should agree on a name for the subSubProtocol for the in-memory back end. The name will be used in the connection URL, and it is the mechanism used to tell Derby to use the in-memory back end:
> jdbc:derby:subSubProtocol:dbName
> Two hot candidates are:
>  o mem
>  o memory
> The former is shorter, the latter is slightly more descriptive. If you have opinions on this, please post a comment.
> We should decide on this before we cut the branch for 10.5.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (DERBY-4084) Determine the subSubProtocol name for the in-memory back end

Posted by "Bryan Pendleton (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DERBY-4084?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12680186#action_12680186 ] 

Bryan Pendleton commented on DERBY-4084:
----------------------------------------

I'm not sure I understand all the implications of the in-memory back end, but if it
means that my data is completely transient and will be wholly discarded when the 
database is shut down, then I'd be in favor of a URL which makes that rather explicit:

  jdbc:derby:transient:mydb
  jdbc:derby:memory-only:mydb
  jdbc:derby:in-memory:mydb
  jdbc:derby:non-persistent:mydb


> Determine the subSubProtocol name for the in-memory back end
> ------------------------------------------------------------
>
>                 Key: DERBY-4084
>                 URL: https://issues.apache.org/jira/browse/DERBY-4084
>             Project: Derby
>          Issue Type: Sub-task
>    Affects Versions: 10.5.0.0
>            Reporter: Kristian Waagan
>
> The community should agree on a name for the subSubProtocol for the in-memory back end. The name will be used in the connection URL, and it is the mechanism used to tell Derby to use the in-memory back end:
> jdbc:derby:subSubProtocol:dbName
> Two hot candidates are:
>  o mem
>  o memory
> The former is shorter, the latter is slightly more descriptive. If you have opinions on this, please post a comment.
> We should decide on this before we cut the branch for 10.5.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.