2016-02-26 GnuCash IRC logs

00:15:25 *** lwells has quit IRC
00:18:41 *** ErKa has joined #gnucash
00:24:38 *** Mechtilde has joined #gnucash
00:29:12 *** lwells has joined #gnucash
00:59:00 *** ErKa has quit IRC
01:09:02 *** gjanssens has joined #gnucash
01:09:02 *** ChanServ sets mode: +o gjanssens
01:18:51 *** Mechtilde has quit IRC
01:45:41 *** nomeata has joined #gnucash
02:19:59 *** Mechtilde has joined #gnucash
02:31:19 *** dgtlmoon has joined #gnucash
02:35:40 *** rubdos has joined #gnucash
03:10:46 *** nomeata has quit IRC
03:49:58 *** nomeata has joined #gnucash
04:28:02 *** rubdos has quit IRC
05:34:58 *** Jimraehl1 has left #gnucash
05:38:23 *** Jimraehl1 has joined #gnucash
05:52:28 *** Mechtilde has quit IRC
05:57:40 *** rubdos has joined #gnucash
06:40:38 <warlord> jralls: w.r.t. QofQuery: Yes, absolutely, it should be a C++ "Queriable" Interface that all the "Objects" implement. At least that how I envisioned it if I were using C++ when I implemented it in C .
06:41:13 <warlord> As for querying in RAM; right now it does push it off to the backend first so the backend can perform the query and "load" the objects.
06:41:31 <warlord> I guess the question is whether to do that EVERY time, or allow some local caching?
06:41:47 <warlord> Due to how often the query is reloaded, we probably do want some caching.
06:41:57 <warlord> I dont know if we can depend on the DB backend to cache for us?
06:45:41 *** Mechtilde has joined #gnucash
06:56:59 *** fell has joined #gnucash
07:02:55 *** codesmythe has quit IRC
07:04:39 *** rubdos has quit IRC
07:43:12 *** gour has joined #gnucash
07:53:45 *** warlord has quit IRC
07:55:57 *** mlncn has quit IRC
08:08:56 *** mlncn has joined #gnucash
08:34:54 *** gncbot sets mode: +o fell
08:37:56 <fell> @tell warlord An example fittung US law: https://wikimediafoundation.org/wiki/Terms_of_Use
08:37:56 <gncbot> fell: The operation succeeded.
08:40:05 *** nomeata has quit IRC
09:21:21 *** Mechtilde has quit IRC
09:24:11 *** cartsoftware has joined #gnucash
09:25:11 *** gour has quit IRC
09:31:15 *** rubdos has joined #gnucash
09:37:51 *** gour has joined #gnucash
10:21:08 *** warlord has joined #gnucash
10:21:09 *** gncbot sets mode: +o warlord
10:52:45 *** Mechtilde has joined #gnucash
11:07:11 *** aqua___ has joined #gnucash
11:15:53 *** cartsoftware has quit IRC
11:16:28 *** fell_ has joined #gnucash
11:18:34 *** fell has quit IRC
11:18:37 *** KaiForce has joined #gnucash
11:39:33 *** aqua___ has quit IRC
12:01:20 <jralls> warlord: No, QofQuery can't push anything off to the backend. If it could only the SQL backend would be usable, the XML backend isn't query-able and doesn't implement the compile_query, run_query, or free_query methods. See gnc-backend-xml.cpp line 1237-9.
12:04:22 <warlord> jralls: the current implementation can't
12:04:22 <gncbot> warlord: Sent 3 hours and 26 minutes ago: <fell> An example fittung US law: https://wikimediafoundation.org/wiki/Terms_of_Use
12:05:10 <warlord> jralls: I was speaking of a potential re-write
12:05:12 <jralls> As for whether the SQL database client caches I suppose that would depend on the client and probably its compile and run options. I'd have to research that.
12:08:02 <jralls> OK. I was misled by "right now it does push it off to the backend first".
12:08:21 <warlord> By that I meant the "compile/run/free_query" calls
12:12:47 <jralls> There is code in qofquery.cpp's static void compile_terms(QofQuery *q) that calls backend->compile_query, and qof_run_query_cb does run the compiled queries, but it ignores the result.
12:14:49 <warlord> yeah, the point (at the time) was just to get the backend to load the objects. Consdering the SQL backend always loaded the full database it didn't seem important to deal with the results :)
12:20:33 <jralls> It doesn't even do that. The code never runs: The function ptrs are set to nullptr unless a never-set define is set.
12:21:44 <jralls> So, leaving aside what it was supposed to do, do you think that it makes sense to write a working abstraction layer rather than simply using SQL directly?
12:24:04 <warlord> Do you mean "does it make sense to REwrite"...??
12:26:04 *** ErKa has joined #gnucash
12:26:14 <jralls> No, it would be from scratch, though it could use the existing QofQuery API. There
12:28:12 <jralls> Oops. There's only a couple of stubs in the SQL backend, no actual code. The existing QofQuery iterates over hashtables, about the worst possible design imaginable since hashtables are designed for fast lookup not iteration.
12:40:57 <warlord> I think we used Hash Tables on the theory that most of the lookups would be direct, not via iteration.
12:41:06 <warlord> (query being the exception)
12:47:50 <jralls> Yes, for the more general case of getting a pointer to an object based on its GUID a hashtable is probably the best glib container. On C++ it's been shown repeatedly that for small objects (like a GUID-ptr pair) iterating over a vector is faster than any other container, though IIRC all of the tests are done with the standard allocators. A small-object allocator like gslice might well change that by keeping the objects tog
12:47:50 <jralls> ether in memory to avoid the cache-miss penalty.
12:49:38 <jralls> That should be "faster than searching any other container" and it's because all of the other std lib containers are implemented on top of linked lists.
12:50:33 *** mlncn has quit IRC
13:19:05 *** kevin8t8 has joined #gnucash
13:19:16 *** minot has joined #gnucash
13:26:28 <kevin8t8> When I download my credit card transactions and import as QFX, is there a way for me to edit the notes field as I add/reconcile transactions? Right now it seems I have to wait until after I close the reconcile window, but then I end up going through all my receipts and emails twice.
13:27:19 *** fell_ is now known as fell
13:27:29 *** gncbot sets mode: +o fell
13:29:29 <warlord> sorry, no, there is no way to edit that during the import process.
13:29:31 *** gour has quit IRC
13:29:42 <warlord> You can pre-process the downloaded OFX file
13:30:37 <kevin8t8> Okay that's fine. I just wanted to make sure I wasn't missing anything. Thank you very much for the reply.
13:32:19 <warlord> you're welcome.
13:32:22 <warlord> good luck!
13:40:12 *** gjanssens has quit IRC
13:50:59 *** fell_ has joined #gnucash
13:53:13 *** fell has quit IRC
14:00:49 *** rubdos has quit IRC
14:02:33 *** fell__ has joined #gnucash
14:04:41 *** fell_ has quit IRC
14:21:45 *** fell has joined #gnucash
14:23:50 *** fell__ has quit IRC
14:35:03 *** Mechtilde has quit IRC
14:41:43 *** ErKa has quit IRC
15:01:01 *** fell_ has joined #gnucash
15:01:55 *** fell__ has joined #gnucash
15:03:14 *** fell has quit IRC
15:04:16 *** fell_ has quit IRC
15:05:12 *** fell__ has quit IRC
15:09:43 *** fell__ has joined #gnucash
15:09:52 *** fell__ is now known as fell
15:10:10 *** gncbot sets mode: +o fell
15:13:34 *** fell_ has joined #gnucash
15:14:52 *** fell has quit IRC
15:16:58 *** minot has quit IRC
15:20:09 *** fell__ has joined #gnucash
15:21:41 *** fell_ has quit IRC
15:26:30 *** fell has joined #gnucash
15:28:25 *** fell__ has quit IRC
15:41:46 *** KaiForce has quit IRC
17:45:05 *** mlncn has joined #gnucash
17:49:19 *** gncbot sets mode: +o fell
18:04:30 *** mlncn has quit IRC
18:14:59 *** mlncn has joined #gnucash
18:49:22 *** mlncn has quit IRC
19:39:18 *** CDB-Man has joined #gnucash
19:40:20 *** CDB-Man_ has quit IRC
20:08:10 *** ErKa has joined #gnucash
21:09:10 *** mlncn has joined #gnucash
21:28:59 *** mlncn has quit IRC
22:05:13 *** fell_ has joined #gnucash
22:06:28 *** fell has quit IRC