Andreas Kopecky | 2 Nov 2009 12:18
Picon
Favicon

suspected bug in storm array implementation

Hi,

I think i found a little bug in the implementation for array data
type in the postgres module of storm. Obviously postgres needs an
explicit type cast there when one tries to insert a list of null
values in a typed array column

example:

given a table like:

  create table bogus(
      realvalues real[]
  );

defining a storm class for it:

  >>> class Bogus(Storm):
  ...     realvalues List(type=Float())

bogus = Bogus()

if you now set the realvalues property to a list of None values

  >>> bogus.realvalues = [None, None]

storm tries to execute an sql statement akin to

  update set realvalues = array[Null, Null];

(Continue reading)

Hamilton Tran | 4 Nov 2009 18:56
Picon

Not Unique table/alias

First things first, I’m coming from a .10 release of Storm, and I am trying to upgrade to .12 but I’m stuck at this problem. I basically took the .12 release and copied it over the old .10 release and removed all the .pyc files.  Onto the problem.

 

I have this table definition:

 

            Class Foo(Storm)

            fooId                             =  Int(name=”foo_id”, primary = True);

            barId                             =  …

            pieId                             =  …

           

            #then some references

            barRef                           = Reference(barId, Bar.barId)

            pieRef                           = Reference(pieId, Pie.pieId)

 

            #and now some proxies 

 

            bar                                = Proxy(barRef, Bar.name);

            pie                                = Proxy(pieRef, Pie.name);

 

 

When I do a find like this

 

            Store.find(Foo, Foo.bar = “brown”, Foo.pie = “cherry”) the resulting sql statement comes out

           

SELECT Foo.fooId, Foo.barId …  FROM Foo LEFT JOIN bar ON foo.bar_Id = bar.bar_Id WHERE bar.name = ‘brown’, foo LEFT JOIN pie on pie.pie_id = foo.pie_id WHERE bar.name = “brown” AND pie.name = “cherry”.

 

Which gives me that Not unique table/alias error. Remove one of the conditional statements and storm returns a result. From my testing, it seems that if I include multiple conditions that use the references/proxy storm compiles the sql incorrectly. Namely here

 

bar.name = ‘brown’, foo LEFT JOIN

 

Where there’s a comma as well as foo coming out of nowhere. Remove the comma and the foo and the statement works.  Did something change that I need to be aware of in order to get this to work as I’ve looked through the mailing list and figured this situation would have cropped up sooner if it is indeed a bug with storm.

 

Thanks for the help

 

Hamilton

 

<div>
<p class="MsoNormal"><span>First
things first, I&rsquo;m coming from a .10 release of Storm, and I am trying to
upgrade to .12 but I&rsquo;m stuck at this problem. I basically took the .12 release
and copied it over the old .10 release and removed all the .pyc files.&nbsp;
Onto the problem.</span></p>

<p class="MsoNormal"><span>&nbsp;</span></p>

<p class="MsoNormal"><span>I have this
table definition:</span></p>

<p class="MsoNormal"><span>&nbsp;</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Class Foo(Storm)</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
fooId&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
=&nbsp; Int(name=&rdquo;foo_id&rdquo;, primary = True);</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
barId&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
=&nbsp; &hellip;</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
pieId&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
= &nbsp;&hellip;</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
#then some references</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
barRef&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
= Reference(barId, Bar.barId)</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
pieRef&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
= Reference(pieId, Pie.pieId)</span></p>

<p class="MsoNormal"><span>&nbsp;</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
#and now some proxies&nbsp; </span></p>

<p class="MsoNormal"><span>&nbsp;</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
bar&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
= Proxy(barRef, Bar.name);</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
pie&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
= Proxy(pieRef, Pie.name);</span></p>

<p class="MsoNormal"><span>&nbsp;</span></p>

<p class="MsoNormal"><span>&nbsp;</span></p>

<p class="MsoNormal"><span>When I do a
find like this</span></p>

<p class="MsoNormal"><span>&nbsp;</span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Store.find(Foo, Foo.bar = &ldquo;brown&rdquo;, Foo.pie = &ldquo;cherry&rdquo;) the resulting sql
statement comes out </span></p>

<p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></p>

<p class="MsoNormal"><span>SELECT
Foo.fooId, Foo.barId &hellip; &nbsp;FROM Foo LEFT JOIN bar ON foo.bar_Id = bar.bar_Id
WHERE <a href="http://bar.name">bar.name</a> = &lsquo;brown&rsquo;, foo LEFT JOIN pie on pie.pie_id = foo.pie_id WHERE
<a href="http://bar.name">bar.name</a> = &ldquo;brown&rdquo; AND <a href="http://pie.name">pie.name</a> = &ldquo;cherry&rdquo;.</span></p>

<p class="MsoNormal"><span>&nbsp;</span></p>

<p class="MsoNormal"><span>Which gives
me that Not unique table/alias error. Remove one of the conditional statements
and storm returns a result. From my testing, it seems that if I include
multiple conditions that use the references/proxy storm compiles the sql
incorrectly. Namely here</span></p>

<p class="MsoNormal"><span>&nbsp;</span></p>

<p class="MsoNormal"><span><a href="http://bar.name">bar.name</a> =
&lsquo;brown&rsquo;, foo LEFT JOIN </span></p>

<p class="MsoNormal"><span>&nbsp;</span></p>

<p class="MsoNormal"><span>Where
there&rsquo;s a comma as well as foo coming out of nowhere. Remove the comma and the
foo and the statement works.&nbsp; Did something change that I need to be aware
of in order to get this to work as I&rsquo;ve looked through the mailing list and
figured this situation would have cropped up sooner if it is indeed a bug with
storm. </span></p>

<p class="MsoNormal"><span>&nbsp;</span></p>

<p class="MsoNormal"><span>Thanks for
the help</span></p>

<p class="MsoNormal"><span>&nbsp;</span></p>

<p class="MsoNormal"><span>Hamilton</span><span></span></p>

<p class="MsoNormal"><span>&nbsp;</span></p>
</div>
Jason Baker | 6 Nov 2009 20:05
Favicon

Nose testing

I notice that storm's test script already includes functions to test using py.test and trial.  I've written a simple function to do the same thing with nose that we're using internally (and includes a plugin to enable/disable tracing via command-line option).


Would there be any interest in such an addition to storm?  Or does storm already have enough as it is?  :-)

--
ZeOmega
Open Minds' Open Solutions
3010 Gaylord Parkway, Ste. 210
Frisco TX, 75034
http://www.zeomega.com

Jason Baker
214-618-9880 (ext. 8024)

"Program testing can be a very effective way to show the presence of bugs, but it is hopelessly inadequate for showing their absence." (Dijkstra)
<div>
<p>I notice that storm's test script already includes functions to test using py.test and trial. &nbsp;I've written a simple function to do the same thing with nose that we're using internally (and includes a plugin to enable/disable tracing via command-line option).</p>
<div>
<br>
</div>
<div>Would there be any interest in such an addition to storm? &nbsp;Or does storm already have enough as it is? &nbsp;:-)<br>
</div>
<div><br></div>
<div>-- <br>ZeOmega<br>Open Minds' Open Solutions<br>3010 Gaylord Parkway, Ste. 210<br>
Frisco TX, 75034<br><a href="http://www.zeomega.com">http://www.zeomega.com</a><br><br>Jason Baker<br>214-618-9880 (ext. 8024)<br><br>"Program testing can be a very effective way to show the presence of bugs, but it is hopelessly inadequate for showing their absence." (Dijkstra)<br>
</div>
</div>
James Henstridge | 7 Nov 2009 06:04
Picon
Gravatar

Re: Nose testing

On Sat, Nov 7, 2009 at 3:05 AM, Jason Baker <jbaker@...> wrote:
> I notice that storm's test script already includes functions to test using
> py.test and trial.  I've written a simple function to do the same thing with
> nose that we're using internally (and includes a plugin to enable/disable
> tracing via command-line option).
> Would there be any interest in such an addition to storm?  Or does storm
> already have enough as it is?  :-)

I couldn't actually get the py.test stuff to work last time I tried,
so actually have a branch up for review to only provide one way of
building the test suite.  It still maintains support for the unittest
and twisted test runners though, since they provide the same API.  The
merge request is here:

https://code.edge.launchpad.net/~jamesh/storm/bug-331905-test-runner/+merge/10106

If Nose can take a unittest TestSuite, then I don't see any reason not
to support it too.

James.

--

-- 
storm mailing list
storm@...
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/storm

Jason Baker | 9 Nov 2009 16:14
Favicon

Can't get the disconnection tests to run

Hey guys,


I've been trying to split out a branch that contains the oracle backend that's up-to-date from trunk.  For whatever reason, I can't get the disconnection tests to work.  I've been running the tests two ways:  

 1. Using an Oracle TNS name (which looks up the hostname/port in a file).  In other words, a URI like this:

    oracle://username:password <at> tns_name?tns=True

 2. Specifying the port, hostname, and service identifier in the URI.  The URI looks like this:

    oracle://username:password <at> hostname:port/SID

Using both methods, I can get both the database tests and store tests to work.  However, I can't get the disconnection tests to pass.  

If I use #1, then the test just fails; a DisconnectError doesn't get raised.  It doesn't even appear that is_disconnect_error is ever getting called.  If I use #2, the test just hangs.  After doing some debugging, I've determined that it is getting hung up at this line of code in the proxy:

    rlist, wlist, xlist = select.select(readers, [], [], TIMEOUT)

...which is strange because as far as I know, this shouldn't block.

It makes sense that #1 would fail as the proxy server likely doesn't have anything to connect to.  However, I can't figure out why it's getting hung up.  Any ideas as far as where to begin?  Could something be configured incorrectly?  Does this sound like a non-storm issue (in other words, an Oracle issue)?
<div>
<p>Hey guys,
</p>
<div><br></div>
<div>I've been trying to split out a branch that contains the oracle backend that's up-to-date from trunk. &nbsp;For whatever reason, I can't get the disconnection tests to work. &nbsp;I've been running the tests two ways: &nbsp;</div>
<div><br></div>
<div>&nbsp;1. Using an Oracle TNS name (which looks up the hostname/port in a file). &nbsp;In other words, a URI like this:</div>
<div><br></div>
<div>&nbsp;&nbsp; &nbsp;oracle://username:password <at> tns_name?tns=True</div>
<div><br></div>
<div>&nbsp;2. Specifying the port, hostname, and service identifier in the URI. &nbsp;The URI looks like this:</div>
<div><br></div>
<div>&nbsp;&nbsp; &nbsp;oracle://username:password <at> hostname:port/SID</div>
<div><br></div>
<div>Using both methods, I can get both the database tests and store tests to work. &nbsp;However, I can't get the disconnection tests to pass. &nbsp;</div>
<div><br></div>
<div>If I use #1, then the test just fails; a DisconnectError doesn't get raised. &nbsp;It doesn't even appear that is_disconnect_error is ever getting called. &nbsp;If I use #2, the test just hangs. &nbsp;After doing some debugging, I've determined that it is getting hung up at this line of code in the proxy:</div>
<div><br></div>
<div>&nbsp;&nbsp; &nbsp;rlist, wlist, xlist = select.select(readers, [], [], TIMEOUT)</div>
<div><br></div>
<div>...which is strange because as far as I know, this shouldn't block.</div>
<div><br></div>
<div>It makes sense that #1 would fail as the proxy server likely doesn't have anything to connect to. &nbsp;However, I can't figure out why it's getting hung up. &nbsp;Any ideas as far as where to begin? &nbsp;Could something be configured incorrectly? &nbsp;Does this sound like a non-storm issue (in other words, an Oracle issue)?</div>
</div>
Jason Baker | 10 Nov 2009 17:55
Favicon

Oracle backend

Just in case anyone is interested in trying the Oracle backend out, I put a package on PyPI that contains the oracle backend.  When imported, it will basically just monkey-patches itself in to storm.databases.oracle.  This can be useful if you want to try out the Oracle backend with the current release.


And I don't advise anyone to use this in production, of course.  This is only a developer preview.


--
ZeOmega
Open Minds' Open Solutions
3010 Gaylord Parkway, Ste. 210
Frisco TX, 75034
http://www.zeomega.com

Jason Baker
214-618-9880 (ext. 8024)

"Program testing can be a very effective way to show the presence of bugs, but it is hopelessly inadequate for showing their absence." (Dijkstra)
<div>
<p>Just in case anyone is interested in trying the Oracle backend out, I put a package on PyPI that contains the oracle backend. &nbsp;When imported, it will basically just monkey-patches itself in to storm.databases.oracle. &nbsp;This can be useful if you want to try out the Oracle backend with the current release.</p>
<div>
<br>
</div>
<div>
<div>And I don't advise anyone to use this in production, of course. &nbsp;This is only a developer preview.</div>
<div><br></div>
<div><a href="http://pypi.python.org/pypi/storm_oracle/0.1.0">http://pypi.python.org/pypi/storm_oracle/0.1.0</a></div>
<div>
<br>-- <br>ZeOmega<br>Open Minds' Open Solutions<br>3010 Gaylord Parkway, Ste. 210<br>Frisco TX, 75034<br><a href="http://www.zeomega.com">http://www.zeomega.com</a><br><br>Jason Baker<br>214-618-9880 (ext. 8024)<br><br>"Program testing can be a very effective way to show the presence of bugs, but it is hopelessly inadequate for showing their absence." (Dijkstra)<br>
</div>
</div>
</div>
James Henstridge | 11 Nov 2009 03:46
Picon
Gravatar

Re: Oracle backend

On Wed, Nov 11, 2009 at 12:55 AM, Jason Baker <jbaker@...> wrote:
> Just in case anyone is interested in trying the Oracle backend out, I put a
> package on PyPI that contains the oracle backend.  When imported, it will
> basically just monkey-patches itself in to storm.databases.oracle.  This can
> be useful if you want to try out the Oracle backend with the current
> release.
> And I don't advise anyone to use this in production, of course.  This is
> only a developer preview.
> http://pypi.python.org/pypi/storm_oracle/0.1.0

That's great news!

Are you at a point where some/all of the backend could be reviewed and
merged to trunk?

James.

--

-- 
storm mailing list
storm@...
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/storm

Jason Baker | 11 Nov 2009 14:51
Favicon

Re: Oracle backend

On Tue, Nov 10, 2009 at 8:46 PM, James Henstridge <james <at> jamesh.id.au> wrote:
On Wed, Nov 11, 2009 at 12:55 AM, Jason Baker <jbaker-QHTyk4n1zzFBDgjK7y7TUQ@public.gmane.org> wrote:
> Just in case anyone is interested in trying the Oracle backend out, I put a
> package on PyPI that contains the oracle backend.  When imported, it will
> basically just monkey-patches itself in to storm.databases.oracle.  This can
> be useful if you want to try out the Oracle backend with the current
> release.
> And I don't advise anyone to use this in production, of course.  This is
> only a developer preview.
> http://pypi.python.org/pypi/storm_oracle/0.1.0

That's great news!

Are you at a point where some/all of the backend could be reviewed and
merged to trunk?

James.


I can't seem to get the disconnection tests to pass.  I sent out an email about it[1], but haven't heard anything back.  Aside from that, it's mostly ready to be reviewed and/or merged.

<div>
<div class="gmail_quote">On Tue, Nov 10, 2009 at 8:46 PM, James Henstridge <span dir="ltr">&lt;<a href="mailto:james@...">james <at> jamesh.id.au</a>&gt;</span> wrote:<br><blockquote class="gmail_quote">
<div class="im">On Wed, Nov 11, 2009 at 12:55 AM, Jason Baker &lt;<a href="mailto:jbaker@...">jbaker@...</a>&gt; wrote:<br>
&gt; Just in case anyone is interested in trying the Oracle backend out, I put a<br>
&gt; package on PyPI that contains the oracle backend. &nbsp;When imported, it will<br>
&gt; basically just monkey-patches itself in to storm.databases.oracle. &nbsp;This can<br>
&gt; be useful if you want to try out the Oracle backend with the current<br>
&gt; release.<br>
&gt; And I don't advise anyone to use this in production, of course. &nbsp;This is<br>
&gt; only a developer preview.<br>
&gt; <a href="http://pypi.python.org/pypi/storm_oracle/0.1.0" target="_blank">http://pypi.python.org/pypi/storm_oracle/0.1.0</a><br><br>
</div>That's great news!<br><br>
Are you at a point where some/all of the backend could be reviewed and<br>
merged to trunk?<br><br>
James.<br>
</blockquote>
</div>
<br><br clear="all">I can't seem to get the disconnection tests to pass. &nbsp;I sent out an email about it[1], but haven't heard anything back. &nbsp;Aside from that, it's mostly ready to be reviewed and/or merged.
<div><br></div>
<div>[1]&nbsp;<a href="https://lists.ubuntu.com/archives/storm/2009-November/001190.html">https://lists.ubuntu.com/archives/storm/2009-November/001190.html</a>
</div>
</div>
Georg Schölly | 13 Nov 2009 14:45
Picon

Copying objects attached to a storm database.

Hello,

I tried copying a storm object using the built-in copy module. This
didn't work because it copied all the internal storm details of the
object too, which resulted in two objects having the same primary key.
After commit one of the objects was overwritten.

Is there already a functionality in storm to make copies of objects?

If not, is there any reason one couldn't / shouldn't include a
__copy__ method in the storm.base.Storm object? Any interest in having
such a method?

Regards,
Georg Schölly

--

-- 
storm mailing list
storm@...
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/storm

Jason Baker | 13 Nov 2009 15:48
Favicon

Re: Copying objects attached to a storm database.

On Fri, Nov 13, 2009 at 7:45 AM, Georg Schölly <georg.schoelly-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
Hello,

I tried copying a storm object using the built-in copy module. This
didn't work because it copied all the internal storm details of the
object too, which resulted in two objects having the same primary key.
After commit one of the objects was overwritten.

Is there already a functionality in storm to make copies of objects?

If not, is there any reason one couldn't / shouldn't include a
__copy__ method in the storm.base.Storm object? Any interest in having
such a method?

The problem that I see is that this may be one of those "in the face of ambiguity, resist the temptation to guess" situations.  What does it really mean to copy an object?  Are you wanting to insert the same row twice?  Are you wanting to insert it into a database?  Are you trying to do something else?  I've seen all three situations come up.

Now that said, I do believe that you're bringing up a good point.  In particular, it would be nice if there were a way for storm to disassociate an object from its store and/or reset any metadata associated with the object.  There are times where I will want to insert an object from one store into a different store.  And I feel like that would solve your issue.
<div><div class="gmail_quote">On Fri, Nov 13, 2009 at 7:45 AM, Georg Sch&ouml;lly <span dir="ltr">&lt;<a href="mailto:georg.schoelly@...">georg.schoelly@...</a>&gt;</span> wrote:<br><blockquote class="gmail_quote">
Hello,<br><br>
I tried copying a storm object using the built-in copy module. This<br>
didn't work because it copied all the internal storm details of the<br>
object too, which resulted in two objects having the same primary key.<br>
After commit one of the objects was overwritten.<br><br>
Is there already a functionality in storm to make copies of objects?<br><br>
If not, is there any reason one couldn't / shouldn't include a<br>
__copy__ method in the storm.base.Storm object? Any interest in having<br>
such a method?<br>
</blockquote>
<div><br></div>
<div>The problem that I see is that this may be one of those "in the face of ambiguity, resist the temptation to guess" situations. &nbsp;What does it really mean to copy an object? &nbsp;Are you wanting to insert the same row twice? &nbsp;Are you wanting to insert it into a database? &nbsp;Are you trying to do something else? &nbsp;I've seen all three situations come up.</div>
<div><br></div>
<div>Now that said, I do believe that you're bringing up a good point. &nbsp;In particular, it would be nice if there were a way for storm to disassociate&nbsp;an object from its store and/or reset any metadata associated with the object. &nbsp;There are times where I will want to insert an object from one store into a different store. &nbsp;And I feel like that would solve your issue.</div>
</div></div>

Gmane