After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 305798 - Support VOLATILE functions.
Support VOLATILE functions.
Status: RESOLVED FIXED
Product: Gnumeric
Classification: Applications
Component: General
1.4.x
Other All
: Normal minor
: ---
Assigned To: Jody Goldberg
Jody Goldberg
: 725599 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2005-05-29 06:00 UTC by Tommy
Modified: 2014-03-05 19:46 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Tommy 2005-05-29 06:00:37 UTC
I have to perform a manual refresh (with the F9 key) every time I open a
spreadsheet which uses the today() function to get the current day's date. It
would be easier if this was automatically calculated and refreshed if necessary
upon opening the spreadsheet.

Other information:
Comment 1 Andreas J. Guelzow 2005-05-29 13:42:51 UTC
Hi, would you please provide some additional information:

Which exact version of gnumeric are you using?

In Format->Workbook on the calculation tab, what is the setting for `Recalculation'?

Thanks
Comment 2 Tommy 2005-05-29 15:02:32 UTC
I'm using version 1.4.3. Recalculation is set to "Automatic".

I just realised that it only applies to the sheets I keep in MS Excel 97/2000/XP
format. I guess it just doesn't get refreshed after importing. Perhaps it's not
as important as I thought.

It is quite useful to be able to keep spreadsheets in .xls format :).
Comment 3 Morten Welinder 2005-05-29 21:29:32 UTC
.xls format stores the last value calculated; .gnumeric does not.  This is
as designed.

Jody: consider closing as NOTABUG or WONTFIX.
Comment 4 Tommy 2005-05-30 03:10:07 UTC
However data is stored in the .xls format, when I open the sheet in Excel, the
values for "today()" are updated. When I open the same sheet in Gnumeric, they
are not.
Comment 5 Jody Goldberg 2005-05-30 03:31:42 UTC
This is a real bug.
Gnumeric does not currently mark expressions with volative functions as needing
special handling.
Comment 6 Andreas J. Guelzow 2005-05-30 13:47:29 UTC
In addition to volatile functions such as today we have various statistical
functions where gnumeric's calculation is more precise than Excel's. So the
values stored in an xls file (created by Excel) may not be the values one would
obatin in Gnumeric. So should we not recalculate all of them?
Comment 7 Jody Goldberg 2005-05-30 14:25:57 UTC
andreas : It's a significant performance penalty to recalc everything, but I
agree that we should recalc functions where we intend to differ from XL.
Comment 8 Andreas J. Guelzow 2005-05-30 17:13:50 UTC
I do realize that there would be a possibly unacceptable performance penalty,
but then why aren't we saving values in gnumeric files?
Comment 9 Jody Goldberg 2005-05-31 14:14:28 UTC
andreas : because the xml was written before people understood spreadsheets and
there's no really convenient place to put them.
Comment 10 Andreas J. Guelzow 2011-03-07 18:10:19 UTC
*** Bug 644123 has been marked as a duplicate of this bug. ***
Comment 11 Morten Welinder 2014-03-03 18:04:17 UTC
*** Bug 725599 has been marked as a duplicate of this bug. ***
Comment 12 Morten Welinder 2014-03-03 20:18:34 UTC
http://www.decisionmodels.com/calcsecretsi.htm

Volatile: NOW, TODAY, RAND.
Possible: CELL, INFO

Excel further needs INDIRECT and OFFSET because its calculation engine
cannot handle them.
Comment 13 Johannes Berg 2014-03-03 20:29:06 UTC
Plugin functions should probably also be handled, or have a flag indicating volatility.
Comment 14 Morten Welinder 2014-03-04 04:07:53 UTC
> Plugin functions should probably also be handled, or have a flag indicating
> volatility.

All our functions[*] are plugin functions, so that's no problem.

[*] Well, except a handful.
Comment 15 Morten Welinder 2014-03-05 19:46:59 UTC
This problem has been fixed in our software repository. The fix will go into the next software release. Thank you for your bug report.