Re: Compiling GnuCash on Windows

2006-11-03 Thread Ivars Grinbergs
Andreas Köhler wrote:
 Hi,

 Ivars Grinbergs wrote:
   
 Andreas Köhler wrote:
 
 You have to admit that this stack trace is not extraordinary useful ;-)
 But yesterday I managed to improve, maybe you can try to do the same?
 Here is what I did:

 * download and unpack `pd' and `MMP' from http://www.trapkit.de, you
 will need the Microsoft .NET Framework Version 2.0 to run the latter
 * make gnucash crash within gdb
 * determine the PID of the running gnucash-bin process (Ctrl+Alt+Del)
 * open a shell and enter `pd -p $pid  my.dump', where $pid is your pid
 * open mmp, open my.dump, let it parse it (click away errors you get,
 ignore please wait dialogs that do not go away and also crashes when
 you try to close mmp after your work)
 * see frame #4, it says 0x0077a51c... try to find the dll that got
 mapped there and also its base address (one of the first columns)
 * enter `add-symbol-file $mydll $myaddr' into gdb, where $mydll might be
 libgncmod-gnome-utils-0.dll or such, and myaddr the base address mmp
 told you; confirm with y
 * bt again

 Success?

   
   
 sorry for the answer in a hurry. Can you please double-check that
 1) you select the one line in mappings within mmp such that mapping_start
 = 0x0077a51c  mapping_end
 2) $mydll is the basename (the part after the last backslash) in the
 mapped_from column
 3) $myaddr is the mapping_start?

 So yes, the backtrace looks better, but still lacks real debugging
 information (function names, line numbers). I expect you did not
 change install.sh so that it either does not include debug symbols
 or strips the binaries...

 Go go, well done so far!

 -- andi5

   
Sorry, I was in rush in the morning and I missed one important point - 
number (3): I used Image Base instead of Mapping Start :(

Below it is, when Mapping Start is uesd, but before that, I would like 
to mention that test results reported before was true when run from gdb; 
when I tried this newest version without gdb, reports cause gc to crash 
(gnu crash :) ). From within gdb, reports run fine.

(gdb) bt
#0  0x6b072b01 in _libmsvcrt_a_iname ()
#1  0x673116f0 in _libmsvcrt_a_iname ()
#2  0x6b073034 in _libmsvcrt_a_iname ()
#3  0x6b046dd4 in __RUNTIME_PSEUDO_RELOC_LIST__ ()
#4  0x0063a3dc in gnc_dense_cal_init (dcal=0x32280f0) at gnc-dense-cal.c:337
#5  0x6275c9f4 in _libws2_32_a_iname ()
#6  0x627466f7 in _libws2_32_a_iname ()
#7  0x62745b39 in _libws2_32_a_iname ()
#8  0x627465eb in _libws2_32_a_iname ()
#9  0x627466d6 in _libws2_32_a_iname ()
#10 0x00637ec0 in gnc_dense_cal_new () at gnc-dense-cal.c:394
#11 0x63054ab6 in gnc_ui_scheduled_xaction_dialog_create ()
at dialog-scheduledxaction.c:1250
#12 0x62743935 in _libws2_32_a_iname ()
#13 0x62756f35 in _libws2_32_a_iname ()
#14 0x62757cde in _libws2_32_a_iname ()
#15 0x62757f56 in _libws2_32_a_iname ()
#16 0x6048b824 in _libmsvcrt_a_iname ()
#17 0x62743935 in _libws2_32_a_iname ()
#18 0x62756f35 in _libws2_32_a_iname ()
#19 0x62757cde in _libws2_32_a_iname ()
#20 0x62757f56 in _libws2_32_a_iname ()
#21 0x606999e5 in _libmsvcrt_a_iname ()
#22 0x6058acec in _libmsvcrt_a_iname ()
#23 0x6058aff5 in _libmsvcrt_a_iname ()
#24 0x605774a2 in _libmsvcrt_a_iname ()
#25 0x62743935 in _libws2_32_a_iname ()
#26 0x62756b66 in _libws2_32_a_iname ()
#27 0x62757a3c in _libws2_32_a_iname ()
#28 0x62757f56 in _libws2_32_a_iname ()
#29 0x60699b74 in _libmsvcrt_a_iname ()
#30 0x60574651 in _libmsvcrt_a_iname ()
#31 0x6057593d in _libmsvcrt_a_iname ()
#32 0x6b07098e in _libmsvcrt_a_iname ()
#33 0x672dd8f7 in _libmsvcrt_a_iname ()
#34 0x672dedcb in _libmsvcrt_a_iname ()
#35 0x672defaa in _libmsvcrt_a_iname ()
#36 0x60574eae in _libmsvcrt_a_iname ()
#37 0x006448d2 in gnc_ui_start_event_loop () at gnc-gnome-utils.c:380
#38 0x00401746 in inner_main (closure=0x0, argc=1, argv=0xbd6950)
at gnucash-bin.c:493
#39 0x65e2564d in scm_boot_guile (argc=1, argv=0xbd6950,
main_func=0x401600 inner_main, closure=0x0) at init.c:635
#40 0x00401e26 in main (argc=1, argv=0xbd6950) at gnucash-bin.c:549
(gdb)
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Compiling GnuCash on Windows

2006-11-03 Thread Ivars Grinbergs
Well,
when on my WinXP I change in Control Panel-Regional and Language 
Settings-Regional Options:

from
- Standards and Formats=Latvian
- Location=Latvia

to
- Standards and Formats=English (United States)
- Location=United States

I can open Scheduled Transaction Editor without crashing GC.

Ivars
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: GC, QOF and queries

2006-11-03 Thread Derek Atkins
Phil Longstaff [EMAIL PROTECTED] writes:

 What version of LibGDA do you need to get GdaQuery?  Is libgda-1.9.100
 recent enough?  Or do you need something more recent than that?  (I ask
 because 1.9.100 is what FC5 has).

 I don't know.  On the www.gnome-db.org web site, the 1.9.102.changes
 file is the first one I can see that mentions GdaQuery.  That, of
 course, doesn't mean it doesn't exist earlier.

Hmm..  I just pulled down libgda-devel and it indeed looks like
there is no GdaQuery.  I'm hesitant to request support from a GDA
feature that's so new that even FC5 can't use it!

I was willing to work with the upgraded SWIG dependency because it's
only needed to build from SVN (not the tarball), but this would be a
runtime requirement, which means we should be more conservative about
it.

Sorry, I think we should delay the use of GdaQuery...

 Phil

-derek

-- 
   Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
   Member, MIT Student Information Processing Board  (SIPB)
   URL: http://web.mit.edu/warlord/PP-ASEL-IA N1NWH
   [EMAIL PROTECTED]PGP key available
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: GC, QOF and queries

2006-11-03 Thread Chris Shoemaker
On Fri, Nov 03, 2006 at 10:09:47AM -0500, Derek Atkins wrote:
 Phil Longstaff [EMAIL PROTECTED] writes:
 
  What version of LibGDA do you need to get GdaQuery?  Is libgda-1.9.100
  recent enough?  Or do you need something more recent than that?  (I ask
  because 1.9.100 is what FC5 has).
 
  I don't know.  On the www.gnome-db.org web site, the 1.9.102.changes
  file is the first one I can see that mentions GdaQuery.  That, of
  course, doesn't mean it doesn't exist earlier.
 
 Hmm..  I just pulled down libgda-devel and it indeed looks like
 there is no GdaQuery.  I'm hesitant to request support from a GDA
 feature that's so new that even FC5 can't use it!
 
 I was willing to work with the upgraded SWIG dependency because it's
 only needed to build from SVN (not the tarball), but this would be a
 runtime requirement, which means we should be more conservative about
 it.
 
 Sorry, I think we should delay the use of GdaQuery...

The fact that FC5-extras has 1.9.100 is irrelavant.  That's an
unstable release.  It's not even forward API-compatible with newer
unstable releases.  It also has some pretty serious bugs.

You have to target a stable api - either 1.2 (FC5 also has 1.2.3) or
the still-in-beta 2.0.  IMO, 1.2 is not even worth looking at.

As far as depending on a library version that's newer than our target
distros... my advice is choose the best tool for the job.  We know how
to deal with the release engineering issues.

-chris
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: GC, QOF and queries

2006-11-03 Thread Daniel Espinosa
2006/11/3, Derek Atkins [EMAIL PROTECTED]:
 Phil Longstaff [EMAIL PROTECTED] writes:

  What version of LibGDA do you need to get GdaQuery?  Is libgda-1.9.100
  recent enough?  Or do you need something more recent than that?  (I ask
  because 1.9.100 is what FC5 has).
 
  I don't know.  On the www.gnome-db.org web site, the 1.9.102.changes
  file is the first one I can see that mentions GdaQuery.  That, of
  course, doesn't mean it doesn't exist earlier.

 Hmm..  I just pulled down libgda-devel and it indeed looks like
 there is no GdaQuery.  I'm hesitant to request support from a GDA
 feature that's so new that even FC5 can't use it!


The version we MUST use is at least 1.99.1, for download in
http://www.gnome-db.org/Download

The stable version doen't support most of the objects like GdaQuery,
Dictionary and so; I recommend to use the lastest Beta2 version
(1.99.1), I'm contributing in the project and see the benefits of
use a architecture based in Objects like GObject does, it's simple and
quick to extend.

If any one want to lear how to use GdaQuery and most of the most
advanced characteristics in GDA you can read the documentation, and
inspect the code in the convenient functions I'd created (you can find
them in libgda/gda-init.c)

 I was willing to work with the upgraded SWIG dependency because it's
 only needed to build from SVN (not the tarball), but this would be a
 runtime requirement, which means we should be more conservative about
 it.

How could we manage about this to desing over a OO using GObject.


 Sorry, I think we should delay the use of GdaQuery...


Sad, a Design over a Object could give GC a powerfull framework and a
clear design.


-- 
Trabajar, la mejor arma para tu superación
de grano en grano, se hace la arena (R) (entrámite, pero para los
cuates: LIBRE)

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: GC, QOF and queries

2006-11-03 Thread Derek Atkins
Quoting Daniel Espinosa [EMAIL PROTECTED]:

 2006/11/2, Derek Atkins [EMAIL PROTECTED]:
 Quoting Phil Longstaff [EMAIL PROTECTED]:

  I have started working on a gda backend and am starting with a QofQuery
  - SQL translator.  I assume no one else has such a beast (there is a
  SQL - QofQuery translator as part of QOF.  When we get an SQL backend,
  it won't make sense to translate SQL - QofQuery - SQL).  I have also
  looked at the pattern of queries.  When GC starts, there is only one
  query - for bills which need to be paid.  There is no query for the
  account tree, for example.  GC must assume that session_begin loads the
  account tree.

 The PG Backend has a sample Query - SQL converter, but it's very
 limited -- it only does Transaction (Split) searches.

  Is this expected behaviour?  I had assumed that everything would be
  queried for.

 This is expected behavior.  Take a look at the PG Backend.  All of the
 accounts are expected to get loaded at start time.  From the business
 side, the Tax Tables and Terms are also expected to get loaded at
 start time.

 Not everything gets loaded by a query.

 Why you need to load all the registers in memory? in GDA you can use a
 GdaDataModel to refer a table or a query and get the data *just* when
 you use it, I think this is better in terms of performance.

Who said anything about loading all of the registers in memory?
Please read what I wrote.  If you don't understand what I'm saying,
please ask me to define the words.  I realize that English is not your
first language, but your question here seems like a fundamental 
misunderstanding
of what I wrote.

GnuCash ABSOLUTELY only pulls in transactions when necessary.  However
the ACCOUNTS are pulled in at start time.

Actually, what it probably wants to do in the long run is pull in all the
transactions from the current period into RAM (because operating from RAM
is faster than operating from Disk)..  But not pull in transactions from
previous periods.  Then it could query over those older transactions when
necessary.

  Secondly, I looked at the begin/commit edit behaviour when an account
  was being created.  There was a *lot* of begin/commit activity on the
  commodity, including some cases of begin/commit/commit.  Is this
  expected behaviour?

 Begin/Commit can be nested (and indeed SHOULD be nested, IMNSHO)..  However
 the begins and commits should be balanced.  If they are not balanced
 then that is a bug.

 Using a GdaDataModel or a GdaQuery, you can directly modify the data
 in the DataBase using a begin/commit transaction (usefull in a
 multiuser enviroment), of course this could fix the *autosave* future
 request becouse you can edit a transaction and when saved it wil be
 automaticaly commit to the server/database.

You're missing a fundamental architectural design of QOF and GnuCash.
Please go study QOF and then come back here.

 Only the final commit() should push the data out to the database.


 GDA allows you to commit the data directly with out a buffer managed
 by GC and then commited when the user push the Save Button.

So What?   GnuCash doesn't do that.

To GnuCash, GDA is JUST A DATA STORE.  I dont know how to make it more
clear.  Anything else would be a fundamental change to the way gnucash
operates and would be a MAJOR re-write of much of the gnucash source
code.  I dont think anyone wants that right now.

Incremental changes are good.

-dere

-- 
   Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
   Member, MIT Student Information Processing Board  (SIPB)
   URL: http://web.mit.edu/warlord/PP-ASEL-IA N1NWH
   [EMAIL PROTECTED]PGP key available

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: GC, QOF and queries

2006-11-03 Thread Daniel Espinosa
2006/11/3, Derek Atkins [EMAIL PROTECTED]:
 Quoting Daniel Espinosa [EMAIL PROTECTED]:

  2006/11/2, Derek Atkins [EMAIL PROTECTED]:
  Quoting Phil Longstaff [EMAIL PROTECTED]:
 
   I have started working on a gda backend and am starting with a QofQuery
   - SQL translator.  I assume no one else has such a beast (there is a
   SQL - QofQuery translator as part of QOF.  When we get an SQL backend,
   it won't make sense to translate SQL - QofQuery - SQL).  I have also
   looked at the pattern of queries.  When GC starts, there is only one
   query - for bills which need to be paid.  There is no query for the
   account tree, for example.  GC must assume that session_begin loads the
   account tree.
 
  The PG Backend has a sample Query - SQL converter, but it's very
  limited -- it only does Transaction (Split) searches.
 
   Is this expected behaviour?  I had assumed that everything would be
   queried for.
 
  This is expected behavior.  Take a look at the PG Backend.  All of the
  accounts are expected to get loaded at start time.  From the business
  side, the Tax Tables and Terms are also expected to get loaded at
  start time.
 
  Not everything gets loaded by a query.
 
  Why you need to load all the registers in memory? in GDA you can use a
  GdaDataModel to refer a table or a query and get the data *just* when
  you use it, I think this is better in terms of performance.

 Who said anything about loading all of the registers in memory?
 Please read what I wrote.  If you don't understand what I'm saying,
 please ask me to define the words.  I realize that English is not your
 first language, but your question here seems like a fundamental
 misunderstanding
 of what I wrote.

Derek I'm sorry if you can't admit any that his first language isn't
english and a missundertanding could occur

I'm trying to question in the best way, with out injury to any, the GC
architecture and try to HELP to have a better one.



 GnuCash ABSOLUTELY only pulls in transactions when necessary.  However
 the ACCOUNTS are pulled in at start time.

 Actually, what it probably wants to do in the long run is pull in all the
 transactions from the current period into RAM (because operating from RAM
 is faster than operating from Disk)..  But not pull in transactions from
 previous periods.  Then it could query over those older transactions when
 necessary.

   Secondly, I looked at the begin/commit edit behaviour when an account
   was being created.  There was a *lot* of begin/commit activity on the
   commodity, including some cases of begin/commit/commit.  Is this
   expected behaviour?
 
  Begin/Commit can be nested (and indeed SHOULD be nested, IMNSHO)..  However
  the begins and commits should be balanced.  If they are not balanced
  then that is a bug.
 
  Using a GdaDataModel or a GdaQuery, you can directly modify the data
  in the DataBase using a begin/commit transaction (usefull in a
  multiuser enviroment), of course this could fix the *autosave* future
  request becouse you can edit a transaction and when saved it wil be
  automaticaly commit to the server/database.

 You're missing a fundamental architectural design of QOF and GnuCash.
 Please go study QOF and then come back here.


I don't missing that, I have studied the QOF enough to know that is a
GObject like implementation with a kind of GInterface, where you have
to implement the methods in order to do the work like (init, dispouse,
begin transaction, commit, roll back, and so).

If QOF have a GObject like architecture, may you can create objects
where you can have methods for the GC to make his work, and allow any
to derive from them to implement a new characteristics, even if the
Backend have a GInterface (it has) you can implement the it in order
to create a new back end a a clear way (I know this way in on the
QOF's documentation); GDA has this kind of architecture in order to
allow new Providers (any) implement the API and allow to be used
inside a GDA app.

I see you don't want to help any one that doesn't have a previous
knowlege about QOF, even if he/she have some knowlege about GObject
architecture; I know that may you haven't time enough but I haven't
time to learn QOF, I prefer to learn more about GObject.

  Only the final commit() should push the data out to the database.
 
 
  GDA allows you to commit the data directly with out a buffer managed
  by GC and then commited when the user push the Save Button.

 So What?   GnuCash doesn't do that.

 To GnuCash, GDA is JUST A DATA STORE.  I dont know how to make it more
 clear.  Anything else would be a fundamental change to the way gnucash
 operates and would be a MAJOR re-write of much of the gnucash source
 code.  I dont think anyone wants that right now.

 Incremental changes are good.

Is good to hear you incremental changes are good, but I can see you
can't support to hear any discution about that.


Sorry but I don't know who you are, are you the mantainer and have you
the last word about 

Re: GC, QOF and queries

2006-11-03 Thread Derek Atkins
Quoting Daniel Espinosa [EMAIL PROTECTED]:

 I'm trying to question in the best way, with out injury to any, the GC
 architecture and try to HELP to have a better one.

The steps towards a better architecture are:

1) Convert QOF to use GObject natively instead of being GObject-like
2) Using the same QOF APIs, try to use GDA natively inside QOF
3) Consider moving more information into QOF.

However, in the short term, major architectural changes aren't on the table.

  Using a GdaDataModel or a GdaQuery, you can directly modify the data
  in the DataBase using a begin/commit transaction (usefull in a
  multiuser enviroment), of course this could fix the *autosave* future
  request becouse you can edit a transaction and when saved it wil be
  automaticaly commit to the server/database.

 You're missing a fundamental architectural design of QOF and GnuCash.
 Please go study QOF and then come back here.

 I don't missing that, I have studied the QOF enough to know that is a
 GObject like implementation with a kind of GInterface, where you have
 to implement the methods in order to do the work like (init, dispouse,
 begin transaction, commit, roll back, and so).

This is true, QOF is gobject-like

 If QOF have a GObject like architecture, may you can create objects
 where you can have methods for the GC to make his work, and allow any
 to derive from them to implement a new characteristics, even if the
 Backend have a GInterface (it has) you can implement the it in order
 to create a new back end a a clear way (I know this way in on the
 QOF's documentation); GDA has this kind of architecture in order to
 allow new Providers (any) implement the API and allow to be used
 inside a GDA app.

Yes, but it's still just the backend.. The front end isn't changing.
GnuCash is still buffering the data (through QOF).   QOF is just a
framework; the objects themselves are still cached in RAM, and implemented
by GnuCash.  QOF just provides the framework to hold it all together
and Query over those objects.

 I see you don't want to help any one that doesn't have a previous
 knowlege about QOF, even if he/she have some knowlege about GObject
 architecture; I know that may you haven't time enough but I haven't
 time to learn QOF, I prefer to learn more about GObject.

It's not that I don't want to help, but I want to help make forward
progress in small steps.  Your questions read to me the same as someone
asking:

  * Why can't I rewrite GnuCash in C++?
  * Why can't change GnuCash to use WxWindows?
  * Why can't we write reports in python?
  * Why isn't GnuCash a client/server Web Application?

Hundreds of man-years of effort have gone into the current GnuCash code.
It's irresponsible to just throw that all away.   Making fundamental
changes to the way to application works is detremental to the process.

This thread started as a SQL BACKEND.  That's a very limited scope,
and I'm happy helping someone (you, Phil, Matthew, or anyone else)
to make progress on a SQL Backend.  That backend can use GDA.  Fine.
No problem.  But discussions of fundamental architectural shifts of
the gnucash application?   Sorry, not interested.

 Incremental changes are good.

 Is good to hear you incremental changes are good, but I can see you
 can't support to hear any discution about that.

But you're not talking about that..  You're talking about fundamental
changes.  Let's take small steps here!

 Sorry but I don't know who you are, are you the mantainer and have you
 the last word about GnuCash?

Pretty much, yes.  I'm the longest-standing core developer.  I'm a major
feature contributor.  I'm an active maintainer.  I'm customer support.
And I'm the hosting/service provider.  So, yes, what I say tends to carry
a LOT of weight.

But as you can see from other email, I'm open to listen.  Chris convinced me
that we should look forward to GDA-2 (through 1.99) instead of keeping 
with 1.9

 Is QOF the realy unique way to solve the GC's objectives? Can't be
 moved out or GC must use it in order to work with databases?

I think you're asking, is QOF the ONLY way to solve GC's objectives?
Of course not.  KMyMoney doesn't use QOF; it solves the problem differently.
However, can QOF get removed from GnuCash?  No.  QOF is a fundamental
GnuCash architecture.

Now, could QOF get changed over time to be more like a GDA Wrapper?
Maybe.  But that's not something I think should be discussed in the
same conversation as a SQL Backend.

I'm trying to keep the conversation focused on the task at hand instead
of looking towards projects that are probably 5 years out.  And yes,
realistically I see what you propose as something that wouldn't happen
for five years.

 I don't think so.

-derek

-- 
   Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
   Member, MIT Student Information Processing Board  (SIPB)
   URL: http://web.mit.edu/warlord/PP-ASEL-IA N1NWH
   [EMAIL PROTECTED]PGP key available


Re: GC, QOF and queries

2006-11-03 Thread Phil Longstaff
On Fri, 2006-03-11 at 13:58 -0500, Derek Atkins wrote:
 But as you can see from other email, I'm open to listen.  Chris convinced me
 that we should look forward to GDA-2 (through 1.99) instead of keeping 
 with 1.9

I have seen Chris's e-mail proposing we use GDA-2 (1.99) instead of 1.2,
but haven't seen agreement from you (except for this).  Do you agree
then that use of GdaQuery is OK?

Phil

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: GC, QOF and queries

2006-11-03 Thread Derek Atkins
Quoting Chris Shoemaker [EMAIL PROTECTED]:

 The fact that FC5-extras has 1.9.100 is irrelavant.  That's an
 unstable release.  It's not even forward API-compatible with newer
 unstable releases.  It also has some pretty serious bugs.

Ahh, so it is.  I thought it was in core, not extras.  Also, I notice
that as of last week there's now a 1.99.1, aka 2.0 BETA.

 You have to target a stable api - either 1.2 (FC5 also has 1.2.3) or
 the still-in-beta 2.0.  IMO, 1.2 is not even worth looking at.

Yeah, no point looking to 1.2 with 2.0 right around the corner.

 As far as depending on a library version that's newer than our target
 distros... my advice is choose the best tool for the job.  We know how
 to deal with the release engineering issues.

I'd certainly prefer not to have to deal with these issues ourselves, but
yeah, let's look to GDA 2.0.

I retract my complaint.

 -chris

-derek

-- 
   Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
   Member, MIT Student Information Processing Board  (SIPB)
   URL: http://web.mit.edu/warlord/PP-ASEL-IA N1NWH
   [EMAIL PROTECTED]PGP key available

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Compiling GnuCash on Windows

2006-11-03 Thread Andreas Köhler
Hi,

Am Freitag, den 03.11.2006, 11:07 +0200 schrieb Ivars Grinbergs:
 Sorry, I was in rush in the morning and I missed one important point - 
 number (3): I used Image Base instead of Mapping Start :(
 
 Below it is, when Mapping Start is uesd, but before that, I would like 
 to mention that test results reported before was true when run from gdb; 
 when I tried this newest version without gdb, reports cause gc to crash 
 (gnu crash :) ). From within gdb, reports run fine.
 
 (gdb) bt
 #0  0x6b072b01 in _libmsvcrt_a_iname ()
 #1  0x673116f0 in _libmsvcrt_a_iname ()
 #2  0x6b073034 in _libmsvcrt_a_iname ()
 #3  0x6b046dd4 in __RUNTIME_PSEUDO_RELOC_LIST__ ()
 #4  0x0063a3dc in gnc_dense_cal_init (dcal=0x32280f0) at gnc-dense-cal.c:337
snip

Bingo! See r15080 (impossible without above information). Big thanks!

Could you please check whether it works for you now?

-- andi5


___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: r15081 - gnucash/trunk/src/gnome-utils - Inform the user about 'gnucash-docs' package when Help is selected with

2006-11-03 Thread Andreas Köhler
Hi,

Am Freitag, den 03.11.2006, 14:50 -0500 schrieb Andreas Köhler:
 Author: andi5
 Date: 2006-11-03 14:50:54 -0500 (Fri, 03 Nov 2006)
 New Revision: 15081
 Trac: http://svn.gnucash.org/trac/changeset/15081
 
 Modified:
gnucash/trunk/src/gnome-utils/gnc-gnome-utils.c
 Log:
 Inform the user about 'gnucash-docs' package when Help is selected with
 no content. Fixes #347102.

Oh, do not we want that to be backported?

-- andi5


___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: GC, QOF and queries

2006-11-03 Thread Daniel Espinosa
2006/11/3, Derek Atkins [EMAIL PROTECTED]:
 Quoting Daniel Espinosa [EMAIL PROTECTED]:

  I'm trying to question in the best way, with out injury to any, the GC
  architecture and try to HELP to have a better one.

 The steps towards a better architecture are:

 1) Convert QOF to use GObject natively instead of being GObject-like
 2) Using the same QOF APIs, try to use GDA natively inside QOF
 3) Consider moving more information into QOF.

 However, in the short term, major architectural changes aren't on the table.

I'll try to joint to the QOF mailing team and try to help in this issues.


   Using a GdaDataModel or a GdaQuery, you can directly modify the data
   in the DataBase using a begin/commit transaction (usefull in a
   multiuser enviroment), of course this could fix the *autosave* future
   request becouse you can edit a transaction and when saved it wil be
   automaticaly commit to the server/database.
 
  You're missing a fundamental architectural design of QOF and GnuCash.
  Please go study QOF and then come back here.
 
  I don't missing that, I have studied the QOF enough to know that is a
  GObject like implementation with a kind of GInterface, where you have
  to implement the methods in order to do the work like (init, dispouse,
  begin transaction, commit, roll back, and so).

 This is true, QOF is gobject-like

  If QOF have a GObject like architecture, may you can create objects
  where you can have methods for the GC to make his work, and allow any
  to derive from them to implement a new characteristics, even if the
  Backend have a GInterface (it has) you can implement the it in order
  to create a new back end a a clear way (I know this way in on the
  QOF's documentation); GDA has this kind of architecture in order to
  allow new Providers (any) implement the API and allow to be used
  inside a GDA app.

 Yes, but it's still just the backend.. The front end isn't changing.
 GnuCash is still buffering the data (through QOF).   QOF is just a
 framework; the objects themselves are still cached in RAM, and implemented
 by GnuCash.  QOF just provides the framework to hold it all together
 and Query over those objects.

I have some work about the implementation of GDA using a code from
Chis, and yes I'd used QOF and try to implement most of the
interfaces, but becouse I don't understand most of GC I couldn't find
who to work with the parameters sended when the function is called by
GC, even that, I want to finish the definition of the database schema
to find out later how to implement in the begin_session function using
just GDA.


 But as you can see from other email, I'm open to listen.  Chris convinced me
 that we should look forward to GDA-2 (through 1.99) instead of keeping
 with 1.9

I can help here!,  I was working for about 1 year in GDA 1.9x.x
development process, basicaly in this areas:

- Porting the GdaValue to GValue
- Creation of Convenient functions to easy use of GDA
- Fix compilations problems for the C# bindings (I'm not a C#
programer, just find the way to fix them)
- I have a work to make GnomeDB work in Glade3 (mostly finished)
- I have to modify some GnomeDB widgets in order to work well in
Glade3, and fixed some issues

I know some about GObject architecture, I plan to use this to
understand QOF, that's the easy part, and plan to implement most of
the Interface to create the backend privider independient as far as I
could, focus on SQLite for the first time and PosgreSQL in parallel.

-- 
Trabajar, la mejor arma para tu superación
de grano en grano, se hace la arena (R) (entrámite, pero para los
cuates: LIBRE)

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: r15081 - gnucash/trunk/src/gnome-utils - Inform the user about 'gnucash-docs' package when Help is selected with

2006-11-03 Thread Christian Stimming
Am Freitag, 3. November 2006 21:31 schrieb Andreas Köhler:
 Hi,

 Am Freitag, den 03.11.2006, 14:50 -0500 schrieb Andreas Köhler:
  Author: andi5
  Date: 2006-11-03 14:50:54 -0500 (Fri, 03 Nov 2006)
  New Revision: 15081
  Trac: http://svn.gnucash.org/trac/changeset/15081
 
  Modified:
 gnucash/trunk/src/gnome-utils/gnc-gnome-utils.c
  Log:
  Inform the user about 'gnucash-docs' package when Help is selected with
  no content. Fixes #347102.

 Oh, do not we want that to be backported?

Absolutely. But it additionally requires r15082. Both together look good to me 
and can be back-ported just fine.

Christian

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Gnucash doesn't work with external QOF (was: Re: GC, QOF and queries)

2006-11-03 Thread Christian Stimming
Am Freitag, 3. November 2006 21:40 schrieb Daniel Espinosa:
 2006/11/3, Derek Atkins [EMAIL PROTECTED]:
  1) Convert QOF to use GObject natively instead of being GObject-like
  2) Using the same QOF APIs, try to use GDA natively inside QOF
  3) Consider moving more information into QOF.
 
  However, in the short term, major architectural changes aren't on the
  table.

 I'll try to joint to the QOF mailing team and try to help in this issues.

Oooops. Did you think by saying QOF we mean the separate QOF project at 
sourceforge.net? We are very sorry for this misunderstanding. No, the 
separate QOF project at sourceforge is a fork from gnucash that forked in 
April this year, and it has been diverging into a different development path. 
Its code will not work with gnucash anymore and vice very.

Instead, by QOF we mean the general idea of the query-object-framework, whose 
code currently is in lib/libqof/ in the gnucash repository (it might be moved 
to src/libqof/ sometime in the future, but the place in the repository isn't 
too important). Again: The external QOF project at sourceforge.net does not 
work with gnucash and the only similarity is that it's a fork from the 
gnucash code by the beginning of this year. So its mailing list also has no 
use for the development gnucash right now. 

All discussion of the QOF concept related to gnucash are going on here on 
gnucash-devel, and all the source code is in the gnucash repository below 
lib/libqof/.

I hope this clears up this issue. Regards,

Christian
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: GC, QOF and queries

2006-11-03 Thread Josh Sled
On Fri, 2006-11-03 at 12:26 -0600, Daniel Espinosa wrote:

 I see you don't want to help any one that doesn't have a previous
 knowlege about QOF, even if he/she have some knowlege about GObject
 architecture; I know that may you haven't time enough but I haven't
 time to learn QOF, I prefer to learn more about GObject.

GObject's great and all, but you can't refuse to understand QOF.  It's
core to the gnucash engine and backend implementation, for better or for
worse.  You can't just pretend it's doesn't exist.


 Is QOF the realy unique way to solve the GC's objectives? Can't be
 moved out or GC must use it in order to work with databases?

Abstracty, no.  And QOF should probably become a layer over GObject at
some point, rather than (effectively) re-implementing parts of it.  Keep
in mind that QOF started at a time before GObject existed, let alone was
accepted and popular...

But that's not really the point: GnuCash *is* implemented in terms of
QOF, right now.  As such, the DB backend is best achieved by working
within that framework.  (Or put off entirely while GnuCash is re-written
in terms of GObject plus a re-tooled QOF.)

-- 
...jsled
http://asynchronous.org/ - `a=jsled; b=asynchronous.org; echo [EMAIL PROTECTED]


signature.asc
Description: This is a digitally signed message part
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: GC, QOF and queries

2006-11-03 Thread Phil Longstaff
On Fri, 2006-03-11 at 14:40 -0600, Daniel Espinosa wrote:
 I know some about GObject architecture, I plan to use this to
 understand QOF, that's the easy part, and plan to implement most of
 the Interface to create the backend privider independient as far as I
 could, focus on SQLite for the first time and PosgreSQL in parallel.
 

I'm already creating a backend for GDA.  Are you creating another one?

Phil

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: GC, QOF and queries

2006-11-03 Thread Derek Atkins
Quoting Phil Longstaff [EMAIL PROTECTED]:

 On Fri, 2006-03-11 at 14:40 -0600, Daniel Espinosa wrote:
 I know some about GObject architecture, I plan to use this to
 understand QOF, that's the easy part, and plan to implement most of
 the Interface to create the backend privider independient as far as I
 could, focus on SQLite for the first time and PosgreSQL in parallel.


 I'm already creating a backend for GDA.  Are you creating another one?

I think, Phil, that you should use Daniel as a resource to better
understand GDA.   Daniel, I think you should provide your GDA knowledge
to Phil who seems to better understand the issue at hand.  I leave it
to you two to figure out how to best work together.

Phil, you might want to try to model the GDA backend similar to the
File Backend where you can add plugins that supply additional tables
or callbacks.   Also, you probably wants a settings table where you
can keep things like DB Schema version, etc.

Finally, when designing the schema you should keep in mind that we probably
want an audit table so we can look back at who changed what (and maybe even
when).   Also, in the DB we probably want a 'last updated' column on each
primary table so we can easily keep track of when changes were made..  This
would be useful for multi-user cache coherency.

 Phil

-derek

-- 
   Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
   Member, MIT Student Information Processing Board  (SIPB)
   URL: http://web.mit.edu/warlord/PP-ASEL-IA N1NWH
   [EMAIL PROTECTED]PGP key available

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: GC, QOF and queries

2006-11-03 Thread Phil Longstaff
On Fri, 2006-03-11 at 17:00 -0500, Derek Atkins wrote:
 I think, Phil, that you should use Daniel as a resource to better
 understand GDA.   Daniel, I think you should provide your GDA knowledge
 to Phil who seems to better understand the issue at hand.  I leave it
 to you two to figure out how to best work together.
 
 Phil, you might want to try to model the GDA backend similar to the
 File Backend where you can add plugins that supply additional tables
 or callbacks.   Also, you probably wants a settings table where you
 can keep things like DB Schema version, etc.

What I'm doing is basically what the file backend does.  Each qof object
type registers a backend handler using qof_object_register_backend().
Then, when I want to run on query on a certain object type or commit an
object, I find the corresponding backend handler and call its load or
commit routine.  The file backend only does this for business-related
objects, but I'm doing it for all objects.

 Finally, when designing the schema you should keep in mind that we probably
 want an audit table so we can look back at who changed what (and maybe even
 when).   Also, in the DB we probably want a 'last updated' column on each
 primary table so we can easily keep track of when changes were made..  This
 would be useful for multi-user cache coherency.

I know the postgres backend has something like an audit table.  I'll
think about how that could be handled.  Last updated column is probably
pretty straightforward too.

Phil

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: GC, QOF and queries

2006-11-03 Thread Daniel Espinosa
2006/11/3, Phil Longstaff [EMAIL PROTECTED]:
 On Fri, 2006-03-11 at 17:00 -0500, Derek Atkins wrote:
  I think, Phil, that you should use Daniel as a resource to better
  understand GDA.   Daniel, I think you should provide your GDA knowledge
  to Phil who seems to better understand the issue at hand.  I leave it
  to you two to figure out how to best work together.
 

Of course I just want to help!

  Phil, you might want to try to model the GDA backend similar to the
  File Backend where you can add plugins that supply additional tables
  or callbacks.   Also, you probably wants a settings table where you
  can keep things like DB Schema version, etc.

 What I'm doing is basically what the file backend does.  Each qof object
 type registers a backend handler using qof_object_register_backend().
 Then, when I want to run on query on a certain object type or commit an
 object, I find the corresponding backend handler and call its load or
 commit routine.  The file backend only does this for business-related
 objects, but I'm doing it for all objects.


Could you post some of your work directly to me and may I can send you
some comments and some work I have.

I'll try to understand the QOF on the way, and after implement this
backend, may I have the enough knowleage to contribute in other areas.


  Finally, when designing the schema you should keep in mind that we probably
  want an audit table so we can look back at who changed what (and maybe even
  when).   Also, in the DB we probably want a 'last updated' column on each
  primary table so we can easily keep track of when changes were made..  This
  would be useful for multi-user cache coherency.

 I know the postgres backend has something like an audit table.  I'll
 think about how that could be handled.  Last updated column is probably
 pretty straightforward too.


It could be made through the commit sequence. In PostgreSQL and MySQL
you can trigger a function that save the changes in an audit table (I
do that actualy in my DB in PostgreSQL).

-- 
Trabajar, la mejor arma para tu superación
de grano en grano, se hace la arena (R) (entrámite, pero para los
cuates: LIBRE)

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Gnucash doesn't work with external QOF (was: Re: GC, QOF and queries)

2006-11-03 Thread Daniel Espinosa
2006/11/3, Christian Stimming [EMAIL PROTECTED]:
 Am Freitag, 3. November 2006 21:40 schrieb Daniel Espinosa:
  2006/11/3, Derek Atkins [EMAIL PROTECTED]:
   1) Convert QOF to use GObject natively instead of being GObject-like
   2) Using the same QOF APIs, try to use GDA natively inside QOF
   3) Consider moving more information into QOF.
  
   However, in the short term, major architectural changes aren't on the
   table.
 
  I'll try to joint to the QOF mailing team and try to help in this issues.

 Oooops. Did you think by saying QOF we mean the separate QOF project at
 sourceforge.net? We are very sorry for this misunderstanding. No, the
 separate QOF project at sourceforge is a fork from gnucash that forked in
 April this year, and it has been diverging into a different development path.
 Its code will not work with gnucash anymore and vice very.

 Instead, by QOF we mean the general idea of the query-object-framework, whose
 code currently is in lib/libqof/ in the gnucash repository (it might be moved
 to src/libqof/ sometime in the future, but the place in the repository isn't
 too important). Again: The external QOF project at sourceforge.net does not
 work with gnucash and the only similarity is that it's a fork from the
 gnucash code by the beginning of this year. So its mailing list also has no
 use for the development gnucash right now.

 All discussion of the QOF concept related to gnucash are going on here on
 gnucash-devel, and all the source code is in the gnucash repository below
 lib/libqof/.

 I hope this clears up this issue. Regards,


Thanks for point this.

Then the documentation isn't equal, . Then the only is read the
code and study how it works? Ok! :-)


-- 
Trabajar, la mejor arma para tu superación
de grano en grano, se hace la arena (R) (entrámite, pero para los
cuates: LIBRE)

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Gnucash doesn't work with external QOF (was: Re: GC, QOF and queries)

2006-11-03 Thread Derek Atkins
Quoting Daniel Espinosa [EMAIL PROTECTED]:

 Thanks for point this.

 Then the documentation isn't equal, . Then the only is read the
 code and study how it works? Ok! :-)

The QOF documentation at http://cvs.gnucash.org/docs/HEAD is accurate.

-derek

-- 
   Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
   Member, MIT Student Information Processing Board  (SIPB)
   URL: http://web.mit.edu/warlord/PP-ASEL-IA N1NWH
   [EMAIL PROTECTED]PGP key available

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel