commit 01837602b079bc6b3e0a62947989728fc448edac Author: Bastien Nocera Date: Mon Jun 2 10:48:28 2014 +0200 0.2.0 NEWS | 6 ++++++ configure.ac | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) commit c22bdd710b058e2bfba196985d88495a3ab7e90c Author: Bastien Nocera Date: Tue Jun 10 14:45:00 2014 +0200 gom: API documentation improvements gom/gom-adapter.c | 5 +++-- gom/gom-command-builder.c | 6 ++++-- gom/gom-repository.c | 5 +++-- 3 files changed, 10 insertions(+), 6 deletions(-) commit a155133fa92111ff6eac526b7af59445a046b84c Author: Bastien Nocera Date: Tue Jun 10 14:59:01 2014 +0200 gom: Fix fallout from object-types leak fix The fix in 54737fd6c99fb20dc6c8877e035740b9a206258f was incomplete and 2 test cases were crashing during migration. Furthermore, the automatic migrator was freeing the list of object types after migrating to version 1, making it crash for any migration past that. gom/gom-repository.c | 20 +++++++++++++++----- tests/test-gom-find.c | 3 --- tests/test-gom-migration.c | 3 --- 3 files changed, 15 insertions(+), 11 deletions(-) commit 54737fd6c99fb20dc6c8877e035740b9a206258f Author: Bastien Nocera Date: Fri May 30 16:55:19 2014 +0200 gom: Fix memory leak during migration The object_types list's ownership is ours when we're called, so make sure that we clear out the list when we're done with it. gom/gom-repository.c | 1 + 1 file changed, 1 insertion(+) commit fce124242c20fdd7546b81e6113bf87c8e32854d Author: Matej Urbančič Date: Sat May 17 19:56:53 2014 +0200 Updated Slovenian translation po/sl.po | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit 7e07b65b13501d4780515f49ebf316d4086cac03 Author: Matej Urbančič Date: Sat May 17 19:53:50 2014 +0200 Added sl for Slovenian translation po/LINGUAS | 1 + 1 file changed, 1 insertion(+) commit 707439b37fc6129ef599b76b677c5d6c6f089864 Author: Matej Urbančič Date: Sat May 17 19:45:08 2014 +0200 Added Slovenian translation po/sl.po | 216 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 216 insertions(+) commit b35e8ce5559e4b2ebe182362ad7a3860e5977f6a Author: Bastien Nocera Date: Wed May 14 16:46:36 2014 +0200 gom: Track whether GomResource objects come from the DB We now track whether objects come from the database (GomResourceGroup's fetch will tag items as such when getting them), so that we can assert whether saves on that object would be an insert or an update. We also track the primary key changing back to zero/null, so that something like getting an item from the DB, resetting the ID, and saving it will create a duplicate as intended. This fixes the failing test case introduced in 8e5602fa15fee310919a2ef087bc4726d4891f00 gom/Makefile.include | 2 +- gom/gom-command-builder.c | 22 ++++++++++++++++++ gom/gom-resource-group.c | 2 ++ gom/gom-resource-priv.h | 31 ++++++++++++++++++++++++++ gom/gom-resource.c | 57 ++++++++++++++++++++++++++++++++++++++++++----- 5 files changed, 108 insertions(+), 6 deletions(-) commit 72ce70e3bccb07d94b0a1a3aa962b75a01d952d3 Author: Bastien Nocera Date: Wed May 14 13:56:20 2014 +0200 gom: Fix has_primary_key() return value The has_primary_key() function was actually returning FALSE if the resource had a primary set, the opposite of what we expected. gom/gom-resource.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit a0f6eeeeff3e8434bef78cacb6eb62489d332d19 Author: Bastien Nocera Date: Wed May 14 14:49:52 2014 +0200 gom: Clean up gom-resource.h gom/gom-resource.h | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) commit 1e1251170e40d249554c8d0336838ef480348a22 Author: Marek Černocký Date: Wed May 14 10:38:16 2014 +0200 Updated Czech translation po/cs.po | 47 ++++++++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 21 deletions(-) commit 8e5602fa15fee310919a2ef087bc4726d4891f00 Author: Bastien Nocera Date: Tue May 13 21:01:29 2014 +0200 tests: Add failing test with non-automatic primary keys When the primary key value of a GomResource is set, we imagine that it must mean that the value is already present in the database. But for non-integer primary keys, the caller is responsible for generating the primary key, so it *must* be set before we call gom_resource_save*. This means that we'll silently fail to insert the item in the database. tests/Makefile.include | 6 ++ tests/test-gom-insert.c | 221 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 227 insertions(+) commit 41ae0624806afc90d68ea9496f3f5aa2e06e8ba0 Author: Bastien Nocera Date: Tue May 13 20:53:28 2014 +0200 gom: Fix reference leak when using GomResourceGroup gom/gom-resource-group.c | 1 + 1 file changed, 1 insertion(+) commit da7df9d0616dd94432c50acd4d32984d5ab6b05a Author: Bastien Nocera Date: Tue May 13 20:02:52 2014 +0200 gom: Add missing gom_repository_find_sync() in header gom/gom-repository.h | 4 ++++ 1 file changed, 4 insertions(+) commit fabe90e0ef171e04f0f50caa7fd168aa58319058 Author: Rafael Ferreira Date: Mon May 12 19:58:07 2014 +0000 Updated Brazilian Portuguese translation po/pt_BR.po | 48 +++++++++++++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 21 deletions(-) commit 6fb76a81314ce919960aafcecc566f20dee6120e Author: Mathieu Bridon Date: Sun May 11 00:14:52 2014 +0800 tests: Don't use g_assert_nonnull() Which downgrades the run-time requirements of gom (g_assert_nonnull() is only available in glib 2.40). tests/test-gom-constraints.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit 5907fba433e622620d61c14057ddc5c0e2ebb416 Author: Bastien Nocera Date: Sat May 10 18:00:29 2014 +0200 tests: Finish the work from 1785a3c4b61c5860a94a84faf0b98ef46a327342 4 more g_str_match_string() to be done... tests/test-gom-constraints.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) commit 1785a3c4b61c5860a94a84faf0b98ef46a327342 Author: Bastien Nocera Date: Sat May 10 17:55:09 2014 +0200 tests: Don't use g_str_match_string() Which downgrades the run-time requirements of gom (g_str_match_string() is only available in glib 2.40). Spotted by Mathieu Bridon tests/test-gom-constraints.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit a5a932c41228f7d165138b01438ba7f227e1636f Author: Mathieu Bridon Date: Wed May 7 18:34:59 2014 +0800 tests: Ensure the NOT NULL constraint works https://bugzilla.gnome.org/show_bug.cgi?id=729862 tests/test-gom-constraints.c | 51 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) commit b2ef0a4c691ab7457ec37ea36f2e6e01368d3367 Author: Mathieu Bridon Date: Wed May 7 15:25:57 2014 +0800 gom: Add support for NOT NULL constraint on columns https://bugzilla.gnome.org/show_bug.cgi?id=729862 gom/gom-command-builder.c | 15 +++++++++++++++ gom/gom-resource.c | 26 ++++++++++++++++++++++++++ gom/gom-resource.h | 4 ++++ 3 files changed, 45 insertions(+) commit 29f7df636f9d3df3babc66cf3c7a4040f7ceaf90 Author: Mathieu Bridon Date: Fri May 9 18:33:10 2014 +0800 tests: Ensure the error is related to the UNIQUE constraint tests/test-gom-constraints.c | 2 ++ 1 file changed, 2 insertions(+) commit a371f7f3a39634654a3a9dc39ab39aeb25a6bced Author: Jonathon Jongsma Date: Thu May 8 14:05:26 2014 -0500 gom: Fix build with C++ compilers By moving enum typedefs after the enum definition. Putting the typedefs above the enum makes compilation fail for C++ programs. Example error: /gom-filter.h:38:14: error: use of enum ‘_GomFilterMode’ without previous declaration typedef enum _GomFilterMode GomFilterMode; ^ https://bugzilla.gnome.org/show_bug.cgi?id=729831 gom/gom-error.h | 4 ++-- gom/gom-filter.h | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) commit 83320b3565e5109b90c118d6972c0d53ebcbf6b4 Author: Jonathon Jongsma Date: Thu May 8 13:37:05 2014 -0500 build: Fix build for srcdir != builddir Find generated pkg-config file in the build dir https://bugzilla.gnome.org/show_bug.cgi?id=729830 data/Makefile.include | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 795fea1ce97ac501a17debda5d347f7edbf2dd4b Author: Mathieu Bridon Date: Wed May 7 18:35:38 2014 +0800 gom: Improve SQLite error reporting Telling the user that a statement failed because: Failed to execute statement: 19 is not very useful. However, this is much better: Failed to execute statement: UNIQUE constraint failed: items.email https://bugzilla.gnome.org/show_bug.cgi?id=729722 gom/gom-command.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7cc9d67357a4ac8bb25276bd75b3238c69dbeaf9 Author: Mathieu Bridon Date: Wed May 7 18:34:59 2014 +0800 tests: Ensure the UNIQUE constraint works https://bugzilla.gnome.org/show_bug.cgi?id=729722 .gitignore | 1 + tests/Makefile.include | 6 ++ tests/test-gom-constraints.c | 243 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 250 insertions(+) commit 9d2d340c26351b8b3ab5432502825b0e07ff887f Author: Mathieu Bridon Date: Wed May 7 15:25:57 2014 +0800 gom: Add support for UNIQUE constraint on columns https://bugzilla.gnome.org/show_bug.cgi?id=729722 gom/gom-command-builder.c | 15 +++++++++++++++ gom/gom-resource.c | 26 ++++++++++++++++++++++++++ gom/gom-resource.h | 4 ++++ 3 files changed, 45 insertions(+) commit c0abfa9ecf107b45922044a7f7df988bbfc6636f Author: Mathieu Bridon Date: Wed May 7 10:45:09 2014 +0800 tests: Fix the unit tests The unit tests were setting the primary key before the property existed, which used to be silently accepted until commit f416919. tests/test-gom-find.c | 2 +- tests/test-gom-migration.c | 2 +- tests/test-gom-stress.c | 2 +- tests/test-gom-transform.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) commit 9bd07a37bdd18adcfa284d534553c5d0b5c1247e Author: Bastien Nocera Date: Tue May 6 21:41:59 2014 +0200 gom: Correctly check the length of parameters before saving them Check that the primary-key and table names aren't getting clipped before we save them, otherwise we'll fail later at run-time. Previous commit was trying to do that, but ended up ensuring that the names were at least as big as the byte array we store them in, rather than the (correct) opposite. gom/gom-resource.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit ef24a7293d8b285b9914e7885ab3a5eefdff79e8 Author: Bastien Nocera Date: Tue May 6 21:41:59 2014 +0200 gom: Check the length of parameters before saving them Check that the primary-key and table names aren't getting clipped before we save them, otherwise we'll fail later at run-time. gom/gom-resource.c | 2 ++ 1 file changed, 2 insertions(+) commit f416919a96d6fc087c01b9fdf1bec9d624790ec9 Author: Bastien Nocera Date: Tue May 6 21:39:43 2014 +0200 gom: Add better check on the primary-key property Make sure that the primary-key property isn't set as a construct-only property, or that its default value is non-NULL. Thanks to Mathieu Bridon for the code that needed those checks :) gom/gom-resource.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) commit 94d26ecefa76177ecf110dbada7ef32f24b7d958 Author: Bastien Nocera Date: Tue May 6 20:46:58 2014 +0200 gom: Report error correctly when the repository isn't set gom_resource_save_sync() would fail without returning an error, which could cause problems. gom/gom-error.h | 3 ++- gom/gom-resource.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) commit 3c72daa2f51a36033653898d7f118f8475c4f26f Author: Bastien Nocera Date: Tue May 6 20:34:09 2014 +0200 tests: Add test case for boolean columns tests/test-gom-find.c | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) commit 0125e26d90923c9e90876b976f455b80ce59843d Author: Mathieu Bridon Date: Wed May 7 02:15:49 2014 +0800 gom: Support boolean properties SQLite does not have a boolean column type, so we need to use integers instead: https://www.sqlite.org/datatype3.html Luckily, the gboolean type is in fact nothing but an integer. gom/gom-command-builder.c | 1 + 1 file changed, 1 insertion(+) commit 4232ab9f4c356345585f2eb09cbf73a65d36dd91 Author: Mathieu Bridon Date: Wed May 7 02:06:35 2014 +0800 gom: Add warning when a column type is unhandled gom/gom-command-builder.c | 3 +++ 1 file changed, 3 insertions(+) commit 6376d838c1216eec7797eece5cd4ab1416fb49c0 Author: Mathieu Bridon Date: Tue May 6 17:18:38 2014 +0800 tests: Chain-up to the parent finalize method tests/test-gom-find.c | 1 + 1 file changed, 1 insertion(+) commit 0663b0d59277d2c12f9030f16d9d0bacf739ce4a Author: Bastien Nocera Date: Tue May 6 10:50:57 2014 +0200 tests: Fix small leak in BookmarksResource Spotted by Mathieu Bridon tests/test-gom-find.c | 1 + 1 file changed, 1 insertion(+) commit 622f29b6220392406af4e55b5df0e47083c5f444 Author: Bastien Nocera Date: Tue May 6 10:50:28 2014 +0200 build: Don't install text documentation Those are usually installed by the package managers. Makefile.am | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) commit 0c54aa2c345110a24ff4f284ad427843ab8cdb5f Author: Mathieu Bridon Date: Tue May 6 14:54:31 2014 +0800 build: Use xz compression for the tarball Other GNOME modules switched to this a while ago. configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 44631fcddb8debd8c8d985a4781b91418409c88d Author: Christian Kirbach Date: Mon May 5 17:05:35 2014 +0200 Added German translation po/LINGUAS | 1 + po/de.po | 192 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 193 insertions(+) commit fd0d06475b7b09daf4a7d7d17a0415091be9af86 Author: Enrico Nicoletto Date: Wed Apr 30 15:56:13 2014 -0300 Updated Brazilian Portuguese translation po/LINGUAS | 3 +- po/pt_BR.po | 190 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 192 insertions(+), 1 deletion(-) commit d90beb17379dada224fb358287289ff694a42847 Author: Bastien Nocera Date: Wed Apr 30 09:32:58 2014 +0200 gom: Fix description of the limit property Spotted by Enrico Nicoletto https://bugzilla.gnome.org/show_bug.cgi?id=729231 gom/gom-command-builder.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit aa9a38cb80c1c4e6827f841925d0ba20146de18b Author: Bastien Nocera Date: Fri Apr 25 16:14:51 2014 +0200 gom: Fix introspection of gom_resource_class_set_property_transform() By skipping this function for introspection, and adding two new functions for the bindings to use. https://bugzilla.gnome.org/show_bug.cgi?id=728504 gom/gom-resource.c | 39 +++++++++++++++++++++++++++++++++++++++ gom/gom-resource.h | 8 ++++++++ 2 files changed, 47 insertions(+) commit 9696310f3919110c67450b9608cdc948bc64c20e Author: Marek Černocký Date: Wed Apr 23 07:41:27 2014 +0200 Added Czech language po/LINGUAS | 1 + 1 file changed, 1 insertion(+) commit ec6f986f2b310d4fe92076f8cb60aa8e0e4bea64 Author: Marek Černocký Date: Wed Apr 23 07:41:10 2014 +0200 Czech translation po/cs.po | 191 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 191 insertions(+) commit 61a7aca1de2fdcfdf9beec8ad10a41907c2a4870 Author: Tristan Brindle Date: Sat Apr 19 01:06:23 2014 +0800 gom: Remove separate error enums and quarks functions Replaced by GomError domain https://bugzilla.gnome.org/show_bug.cgi?id=728491 gom/gom-adapter.c | 6 ------ gom/gom-adapter.h | 8 -------- gom/gom-command.c | 6 ------ gom/gom-command.h | 9 --------- gom/gom-repository.c | 6 ------ gom/gom-repository.h | 7 ------- gom/gom-resource.c | 6 ------ gom/gom-resource.h | 8 -------- 8 files changed, 56 deletions(-) commit 0a12f66ffa2a237db9734d1dd2cf06c88248a1d5 Author: Tristan Brindle Date: Sat Apr 19 00:59:13 2014 +0800 gom: Use GomError rather than separate error domains Convert all functions to use the GomError domain for errors https://bugzilla.gnome.org/show_bug.cgi?id=728491 gom/gom-adapter.c | 5 +++-- gom/gom-command.c | 11 ++++++----- gom/gom-repository.c | 9 +++++---- gom/gom-resource.c | 5 +++-- 4 files changed, 17 insertions(+), 13 deletions(-) commit 063c490d181bfbf958b766e23cd7cf6d3f21544f Author: Tristan Brindle Date: Sat Apr 19 00:50:32 2014 +0800 gom: Add GomError enum as a single unified error domain Adds GomError as a single error domain replacing GomCommandError, GomResourceError etc. The enumerators are taken from the existing four error domains used in Gom. This also adds a gom_error_get_type() function to define a GType for GomError, which is necessary for introspection purposes. It might be better to use glib-mkenums for this purpose. https://bugzilla.gnome.org/show_bug.cgi?id=728491 gom/Makefile.include | 2 ++ gom/gom-error.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ gom/gom-error.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ gom/gom.h | 1 + 4 files changed, 92 insertions(+) commit c9546cbe09161a239cd65de5e25d41e3c9ca83be Author: Tristan Brindle Date: Fri Apr 18 22:55:55 2014 +0800 gom: Add "constructor" annotations for gom_filter_new_and/or The first argument to these functions is a GomFilter*, meaning they are incorrectly introspected as instance methods rather than constructors. Add the (constructor) annotation to fix this. https://bugzilla.gnome.org/show_bug.cgi?id=728517 gom/gom-filter.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 4b17d100ec56926dd29c7f35bc79df3794b29c82 Author: Bastien Nocera Date: Fri Apr 18 10:32:32 2014 +0200 gom: Add automatic migration support for flags/enum gom/gom-command-builder.c | 6 ++++++ gom/gom-command.c | 6 ++++++ gom/gom-cursor.c | 6 ++++++ 3 files changed, 18 insertions(+) commit 4062ec05a6f4cc65e0cc780dbc231ba740c938a9 Author: Bastien Nocera Date: Fri Apr 18 10:29:15 2014 +0200 gom: Add debug when a type couldn't be mapped gom/gom-command-builder.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 9e28a25417c44be1234f33b5ea7fa2ca30c4f2dc Author: Bastien Nocera Date: Fri Apr 18 01:15:36 2014 +0200 tests: Fix test-gom-find running in distcheck The DB was copied as read-only, so we couldn't even check the version of the database as we try to create a _gom_version table. tests/test-gom-find.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 4fd37c4a6e04ddbb8844a639cc03740a51b2c304 Author: Tristan Brindle Date: Thu Apr 17 18:16:04 2014 +0800 gom: Fix typo in gom_filter_mode_get_type() GOM_FILTER_AND is "AND" not "SQL". https://bugzilla.gnome.org/show_bug.cgi?id=728412 gom/gom-filter.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9e5f6407486a1417d72962e33484ccf9027aa7b8 Author: Bastien Nocera Date: Fri Apr 18 00:46:08 2014 +0200 tests: Use a temporary dir for test-gom-find So that tests don't fail on startup when a failed test happened beforehand. tests/test-gom-find.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) commit 327d004bc0d80cc1ebe38ca10c71be29d83f07c9 Author: Bastien Nocera Date: Fri Apr 18 00:45:49 2014 +0200 tests: Add migration test for empty DBs This is pretty much the same test as test-gom-find, except that this database is initially empty during migration. .gitignore | 1 + tests/Makefile.include | 6 + tests/test-gom-migration.c | 336 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 343 insertions(+) commit 25c5bf0f0554d6b7ec1e3de9c980eab12c619186 Author: Bastien Nocera Date: Thu Apr 17 23:19:18 2014 +0200 all: Stop first-time GOM users from having to set the "new in version" Applications that use GOM from the get-go shouldn't have to call "new in version" for every single one for their initial properties/columns. Nor should applications with existing columns have to set their "new in version" to 0 for those columns. Instead, we'll try to create the table with all the columns that are new in version 1 in one go, which can fail gracefully. gom/gom-command-builder.c | 40 +++++++++++++++++++++++++++++----------- gom/gom-resource.c | 4 +++- tests/test-gom-stress.c | 2 -- tests/test-gom-transform.c | 4 ---- 4 files changed, 32 insertions(+), 18 deletions(-) commit 37133da665f3e71993cf6f09d139d906b5b6e889 Author: Bastien Nocera Date: Thu Apr 17 22:43:41 2014 +0200 tests: Add test for columns with references tests/test-gom-transform.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) commit f428c8f39f0b13da0a2b6492a777e83458af505a Author: Bastien Nocera Date: Thu Apr 17 22:43:13 2014 +0200 gom: Add support for creating columns with references gom/gom-command-builder.c | 17 +++++++++++++++++ gom/gom-resource.c | 36 ++++++++++++++++++++++++++++++++++++ gom/gom-resource.h | 8 ++++++++ 3 files changed, 61 insertions(+) commit 1161965e67bf98f52f949227ae455082b00a0b3d Author: Bastien Nocera Date: Thu Apr 17 22:42:40 2014 +0200 gom: Add guards in class metadata setters gom/gom-resource.c | 3 +++ 1 file changed, 3 insertions(+) commit ea621659a99a101acd7d99ecfdda0848fe46b733 Author: Bastien Nocera Date: Thu Apr 17 19:48:53 2014 +0200 build: Update .gitignore .gitignore | 2 ++ 1 file changed, 2 insertions(+) commit 0f3819f81134af109ec23c3c40698f73197b2c23 Author: Bastien Nocera Date: Thu Apr 17 19:41:09 2014 +0200 tests: Add a "stress" test Adds 1000 items, and checks that they one of them was written properly. To test disk-based performance, change the gom_adapter_open_sync() call to the one that's commented. tests/Makefile.include | 6 ++ tests/test-gom-stress.c | 231 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 237 insertions(+) commit 46fc743a1cf2da9a811c052b45e249bf22e04fa3 Author: Bastien Nocera Date: Thu Apr 17 19:27:56 2014 +0200 gom: Enhance performance for our use cases First, we'll use the SQLITE_OPEN_NOMUTEX open flag, which will mean that we are expected to implement our own locking access to the database, which we don't need to do as a single worked thread will access the database. Secondly, we'll execute a few PRAGMA statements. The journal_mode will change the behaviour of the rollback model. We now use a write-ahead log instead of a journal. This is much faster with small transactions (ours are very small). https://www.sqlite.org/pragma.html#pragma_journal_mode With this change, adding 1000 items into a disk-backed database drops from 20 seconds to 7 seconds. Finally, we also change the synchronous behaviour to NORMAL. This is a good trade-off between performance, and possibility of database corruption. https://www.sqlite.org/pragma.html#pragma_synchronous With the same test case as above, we drop from taking 7 seconds to 0.2 seconds to add 1000 items. gom/gom-adapter.c | 2 +- gom/gom-repository.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) commit 1c5b84653645804d12174292ca3aed7815467417 Author: Bastien Nocera Date: Thu Apr 17 09:23:56 2014 +0200 tests: Add test for GDateTime and strv properties tests/test-gom-transform.c | 60 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 59 insertions(+), 1 deletion(-) commit 12b429fb2af0d8bdc197c44d5f777dc7c3d9ab9a Author: Bastien Nocera Date: Thu Apr 17 00:54:04 2014 +0200 gom: Add GDateTime/strv support in automatic migration gom/gom-command-builder.c | 3 +++ 1 file changed, 3 insertions(+) commit 6ff60d882d319e645f5d15a30ded722b36741739 Author: Bastien Nocera Date: Wed Apr 16 17:27:37 2014 +0200 tests: Add test for the new transformation functions configure.ac | 1 + tests/Makefile.include | 8 +- tests/gnome.png | Bin 0 -> 52468 bytes tests/test-gom-transform.c | 301 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 309 insertions(+), 1 deletion(-) commit 108ef88c2dabbc724ee9623806c2edefd5642285 Author: Bastien Nocera Date: Wed Apr 16 17:26:52 2014 +0200 gom: Use new to/from bytes functions from GomResource gom/gom-command-builder.c | 37 +++++++++++++++++++++++++++++++++---- gom/gom-command.c | 23 +++++++++++++++++++++++ gom/gom-cursor.c | 13 +++++++++++++ gom/gom-resource-group.c | 22 ++++++++++++++++++---- 4 files changed, 87 insertions(+), 8 deletions(-) commit 3506261a519a7519a55aae72625b04be559c32c1 Author: Bastien Nocera Date: Wed Apr 16 01:21:00 2014 +0200 gom: Add to/from bytes metadata properties If a property is not a number or a string, we'll need help serialising and deserialising it to a GBytes which we would fit in a BLOB column. gom/gom-resource.c | 31 +++++++++++++++++++++++++++++++ gom/gom-resource.h | 23 +++++++++++++++++------ 2 files changed, 48 insertions(+), 6 deletions(-) commit 41a65604262d82842a6c5f114955de24afa28623 Author: Bastien Nocera Date: Thu Apr 17 00:33:54 2014 +0200 gom: Fix a few memory leaks in GomMemoryGroup gom/gom-resource-group.c | 2 ++ 1 file changed, 2 insertions(+) commit 69aa26b4482f53a3bc91298b66c9cf5a13003948 Author: Bastien Nocera Date: Thu Apr 17 00:29:54 2014 +0200 gom: Fix memory leak when destroying adapter If we closed the DB properly, we were leaking the queue and thread. gom/gom-adapter.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) commit 1a4acf7096073556ce56633fbbae94852317215a Author: Bastien Nocera Date: Wed Apr 16 19:37:17 2014 +0200 gom: Fix a memory leak in gom_repository_migrate_sync() And by extension in the automatic migration sync call. gom/gom-repository.c | 2 ++ 1 file changed, 2 insertions(+) commit ab563a0cd6ece7aa835e732274e4fe8ee1b2978a Author: Bastien Nocera Date: Wed Apr 16 17:23:41 2014 +0200 gom: Fix obvious bug in table creation function There was only ever one command in the creation commands returned. gom/gom-command-builder.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 67e3689649dc7a6b22163ee7c53d9eb88e4bf490 Author: Bastien Nocera Date: Wed Apr 16 12:03:58 2014 +0200 gom: Fix sql_type_for_column() return value Should return NULL not FALSE. gom/gom-command-builder.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 6ed3d22ac996e7c7176da13cd926c27967b65ee3 Author: Bastien Nocera Date: Tue Apr 15 18:29:28 2014 +0200 tests: Use automatic migration in test tests/test-gom-find.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) commit f69827db7c8ece2b8dd05b6fd24b689e585ebe80 Author: Bastien Nocera Date: Tue Apr 15 18:25:53 2014 +0200 gom: Add gom_repository_automatic_migrate_(a)sync It's an automatic migration tool, which will take care of create the table for each of the passed types, as well as adding any columns necessary to upgrade to the latest version. gom/gom-repository.c | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++ gom/gom-repository.h | 14 +++++++ 2 files changed, 122 insertions(+) commit 87d87a2a7d63506b8134e5197a805beea8a629ff Author: Bastien Nocera Date: Tue Apr 15 15:47:11 2014 +0200 gom: Add gom_command_builder_build_create() As documented in the API docs. This will be used for the automatic migration feature. gom/gom-command-builder.c | 116 ++++++++++++++++++++++++++++++++++++++++++++++ gom/gom-command-builder.h | 2 + 2 files changed, 118 insertions(+) commit a8094cf57213f383a48c2f76e12654c872955741 Author: Bastien Nocera Date: Tue Apr 15 18:20:51 2014 +0200 gom: Add GomResource property metadata Add "new-in-version" and "is-mapped" metadata for GomResource sub-class properties. This allows application developers to control which properties will be mapped to column names, and tell the automated migration tool which columns to add. gom/gom-command-builder.c | 15 +++++++++++---- gom/gom-resource.c | 43 +++++++++++++++++++++++++++++++++++++++++++ gom/gom-resource.h | 11 +++++++++++ 3 files changed, 65 insertions(+), 4 deletions(-) commit 587f3cd8fdf6ad79362be978233e9f6a90da1aab Author: Bastien Nocera Date: Tue Apr 15 18:19:16 2014 +0200 gom: Consider version 0 the absence of version If version 0 is the absence of DB version information in the database, then migrations should be done at least up to version 1. gom/gom-repository.c | 2 ++ 1 file changed, 2 insertions(+) commit 0ba7e8910c6c151346c22b1d07b66dea896ed9db Author: Bastien Nocera Date: Tue Apr 15 15:45:49 2014 +0200 gom: Don't consider a property mapped if type is not handled If the type for a property is not one of the fundamental types that we know how to handle, don't map it in the command builder. gom/gom-command-builder.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) commit 72b222cd112e4ef8c7f8c16fdeebe658a2c62361 Author: Bastien Nocera Date: Tue Apr 15 18:24:11 2014 +0200 tests: Add test for column added in DB version 2 tests/test-gom-find.c | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) commit 9abdec4a13c78ec65a000c7e452317566f00fa33 Author: Bastien Nocera Date: Tue Apr 15 12:26:49 2014 +0200 gom: Remove incorrect warning in gom_resource_save_sync() The API documentation for gom_resource_save_sync() mentioned that this needed to be called within the SQLite thread. This is incorrect since b9173234ffc848083724486dd564af4a9ee89884 which made this sync call push the request to the SQLite in a thread-safe way. gom/gom-resource.c | 4 ---- 1 file changed, 4 deletions(-) commit 0a4463e67f0e6fd87502e4be80383605f05f5e96 Author: Bastien Nocera Date: Tue Apr 15 12:25:23 2014 +0200 gom: Remove fetching the generated SQL for a command We ultimately want to get rid of SQL in the public API, so start with not making the generated SQL command readable. gom/gom-command.c | 13 +------------ gom/gom-command.h | 1 - 2 files changed, 1 insertion(+), 13 deletions(-) commit e26ed66e032a121331524de3090cc98651c4b95e Author: Christian Hergert Date: Mon Apr 14 12:38:30 2014 -0700 update .gitignore. m4/.gitignore | 1 + po/.gitignore | 3 +++ 2 files changed, 4 insertions(+) commit 3440d26bc9f67dec2da925e714cb844eb50bb829 Author: Daniel Mustieles Date: Mon Apr 14 12:18:23 2014 +0200 Added i18n support Makefile.am | 2 +- configure.ac | 17 +++++++++++++++++ po/LINGUAS | 0 po/POTFILES.in | 8 ++++++++ 4 files changed, 26 insertions(+), 1 deletion(-) commit 8b054b0cf95d6c11280964e6b0fc7b3dd486f87e Author: Christian Hergert Date: Sat Apr 12 18:26:47 2014 -0700 add gom.doap. gom.doap | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) commit cdbe2b4676fe340fd8ef22478ce1040747e1600c Author: Bastien Nocera Date: Fri Mar 28 02:00:28 2014 +0100 gom: Fix link in gom_adapter_open_async() docs gom/gom-adapter.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 0f3543fbd739a1f8f16e9b063687b07a65ca86b3 Author: Bastien Nocera Date: Fri Mar 28 01:58:30 2014 +0100 gom: Add gom_repository_migrate_sync() gom/gom-repository.c | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++-- gom/gom-repository.h | 5 +++++ 2 files changed, 64 insertions(+), 2 deletions(-) commit 168a72f6e97ef9d6f63c5202ed899a5c899fdf1f Author: Bastien Nocera Date: Fri Mar 28 01:56:53 2014 +0100 gom: Separate callback data from user_data Add a "migrator_data" argument to gom_repository_migrate_async() so that the user_data passed to the GIO async callback doesn't need to be the same as the one passed to the migration function. gom/gom-repository.c | 3 ++- gom/gom-repository.h | 1 + tests/test-gom-find.c | 2 +- tests/test-gom-repository.c | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) commit 10bbc9e2d24d6ccdac7e7d2ba688c3e5e73f3134 Author: Bastien Nocera Date: Tue Mar 25 14:39:05 2014 +0100 gom: Correct gom_resource_fetch_m2m_finish() return type Fix cyclic dependency problem when making gom_resource_fetch_m2m_finish() actually return a GomResourceGroup rather than a gpointer. This is necessary to avoid problems in the future with languages that use the introspection data. gom/gom-resource-group.h | 4 ++-- gom/gom-resource.c | 4 ++-- gom/gom-resource.h | 4 +++- 3 files changed, 7 insertions(+), 5 deletions(-) commit 5a905863b41adfeaaf638444e5c429e9d6506626 Author: Bastien Nocera Date: Tue Mar 25 11:32:46 2014 +0100 gom: Fix g_async_result_get_source_object() usage g_async_result_get_source_object() returns a reference to the object, so don't forget to unref it. gom/gom-repository.c | 2 ++ gom/gom-resource-group.c | 1 + gom/gom-resource.c | 3 +++ 3 files changed, 6 insertions(+) commit fbd9d28c71a21a7bc6f4932750b9e023b44bd3ed Author: Bastien Nocera Date: Tue Mar 25 11:32:10 2014 +0100 gom: Fix worker thread being leaked gom/gom-adapter.c | 1 + 1 file changed, 1 insertion(+) commit 0190f16cc9f27556fa02c2de8cedc00fbae8ea1a Author: Bastien Nocera Date: Tue Mar 25 11:23:36 2014 +0100 tests: Fix small leak in filter creation tests/test-gom-find.c | 1 + 1 file changed, 1 insertion(+) commit 74392dfe45f110dfa455f67fab89d03f1bda5540 Author: Bastien Nocera Date: Tue Mar 25 11:21:57 2014 +0100 gom: Fix mem leak in find_{sync,async} functions Both were leaking the async result. gom/gom-repository.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit a1d03626541b1786004469182a277eeb586a3346 Author: Bastien Nocera Date: Tue Mar 25 11:21:24 2014 +0100 gom: Fix command leak when querying the DB version gom/gom-repository.c | 1 + 1 file changed, 1 insertion(+) commit fd177275f68ddebdf70f54c891b1fda76e93728b Author: Bastien Nocera Date: Tue Mar 25 11:19:50 2014 +0100 gom: Set clear function for values arrays in filter Otherwise we'll leak the contents of the array when we use g_array_free() with free_segment = TRUE. gom/gom-filter.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) commit 99b08b0f419c2d2479a122293fb35f865bb7220b Author: Bastien Nocera Date: Tue Mar 25 11:15:27 2014 +0100 gom: Simplify array concatenation in filter The values in the source array aren't freed, so don't bother copying the values, we'll assume ownership. gom/gom-filter.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) commit 82d4da4429fd3cd518db1f8c7dfce43d634ba190 Author: Bastien Nocera Date: Tue Mar 25 11:14:04 2014 +0100 gom: Fix leak when building commands g_object_class_list_properties() transfers the container, so don't forget to free it. gom/gom-command-builder.c | 1 + 1 file changed, 1 insertion(+) commit b2cf20f9feadecaed7180619c695e3ad6f2c8e5c Author: Bastien Nocera Date: Tue Mar 25 09:01:28 2014 +0100 gom: Add sync versions of the open/close functions This makes it easier to deal with databases that are bound to an object's lifecycle. gom/gom-adapter.c | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++- gom/gom-adapter.h | 5 +++ 2 files changed, 111 insertions(+), 2 deletions(-) commit f4278fd3df213bb81ae458264bc42349a8ca58c9 Author: Bastien Nocera Date: Mon Mar 24 18:19:01 2014 +0100 gom: Remove dummy_cb functions g_simple_async_result_new() handles NULL callbacks just fine. gom/gom-repository.c | 9 +-------- gom/gom-resource-group.c | 9 +-------- 2 files changed, 2 insertions(+), 16 deletions(-) commit b9173234ffc848083724486dd564af4a9ee89884 Author: Bastien Nocera Date: Mon Mar 24 17:59:35 2014 +0100 gom: Make sure sync calls use the SQLite worker thread The sync calls would make SQLite calls outside the SQLite thread. As this can lead to very bad things happening, use a GAsyncQueue to wait (and block) for the asynchronous call to finish. gom/gom-repository.c | 16 +++++++++++-- gom/gom-resource-group.c | 19 +++++++++++---- gom/gom-resource.c | 62 +++++++++++++++++++++++++++++++++++++++++++----- 3 files changed, 85 insertions(+), 12 deletions(-) commit 1ef8b98efab173cea4020ea807bfcc5b7706c8a5 Author: Bastien Nocera Date: Mon Mar 24 16:43:30 2014 +0100 gom: Prevent SQLite accesses from the main thread This isn't foolproof, but this ensures that the db struct member isn't fetched (usually before it's used), or that SQL commands aren't run from the main thread instead of from the SQLite thread. gom/gom-adapter.c | 3 +++ 1 file changed, 3 insertions(+) commit f143f7b20a24ad93eeac4446a6c84c9736bbc5b2 Author: Bastien Nocera Date: Mon Mar 24 17:54:53 2014 +0100 gom: Don't use GSimpleAsyncResult in worker thread Using GSimpleAsyncResults in the worker thread makes it impossible to chain calls inside the SQLite thread, making it hard to implement reliable synchronous calls. Instead, we'll use our own structure, so that the callbacks passed to the worker thread will be responsible for sending out results through GSimpleAsyncResult if they want to use such a construct. gom/gom-adapter.c | 158 ++++++++++++++++++++++++++++++++---------------------- 1 file changed, 95 insertions(+), 63 deletions(-) commit fa78d9b660f16f294146e2082684f381d77230e4 Author: Bastien Nocera Date: Fri Mar 21 18:46:59 2014 +0100 gom: Add guard for gom_resource_delete_sync() We have one like that for the async delete and for the saves already. gom/gom-resource.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) commit a80f05e9065697dd0457165b33a3420a122679e1 Author: Bastien Nocera Date: Fri Mar 21 18:11:34 2014 +0100 tests: Use LIKE in find test Rather than a too simple equality filter. tests/test-gom-find.c | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) commit 6eaad6b120e262daf1fa1b1b4421ae11de788cbd Author: Bastien Nocera Date: Fri Mar 21 18:10:24 2014 +0100 gom: Add support for the LIKE operator To allow search through text. gom/gom-filter.c | 14 +++++++++++++- gom/gom-filter.h | 4 ++++ 2 files changed, 17 insertions(+), 1 deletion(-) commit f9434ec1c345e47f400220c45c9db00fb5877033 Author: Bastien Nocera Date: Thu Mar 20 18:48:40 2014 +0100 tests: Add a save test to the find test This tests whether saving to the database works. tests/test-gom-find.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) commit 9688d433776912a8350b456dd6619247579bfd81 Author: Bastien Nocera Date: Thu Mar 20 17:41:15 2014 +0100 tests: Add test for the find function .gitignore | 1 + tests/Makefile.include | 8 ++ tests/grl-bookmarks.db | Bin 0 -> 5120 bytes tests/test-gom-find.c | 307 +++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 316 insertions(+) commit 3787cbb7915f56ccc7ed4728d7d7a8a0856469ad Author: Bastien Nocera Date: Thu Mar 20 17:24:27 2014 +0100 gom: Fix copying of values Before being copied to using g_value_copy(), the destination GValue needs to be initialised to the correct type. 2 places in GomFilter were not doing that. gom/gom-filter.c | 2 ++ 1 file changed, 2 insertions(+) commit 86fe0e3b6e964fb72a0112c616b526e23583d4da Author: Bastien Nocera Date: Thu Mar 20 16:15:47 2014 +0100 gom: Show an error when migration func is broken In addition to asserting later in the code, throw a warning mentioning if the external and developer-provided migration function is broken, and fails to send back a GError when it fails. This should stop people from pointing at a gom bug when their code is broken (as I did :) gom/gom-repository.c | 2 ++ 1 file changed, 2 insertions(+) commit a771459d67ddbae6a3e281d317ea0b2a72db060c Author: Bastien Nocera Date: Thu Mar 20 16:14:54 2014 +0100 gom: Fix parameter name in header to match implementation Was called "URI" in the implementation, but "filename" in the header. We actually expect a URI, so change the header. gom/gom-adapter.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d3efcb9fb7a534a6fee7c9a4f15a961122838efd Author: Bastien Nocera Date: Wed Mar 19 16:17:09 2014 +0100 gom: Actually open URIs passed to open() as URIs And not filenames by setting the SQLITE_OPEN_URI open flag as mentioned in: http://www.sqlite.org/uri.html gom/gom-adapter.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ac9825abfd18ff77e1e92c7d96bfe46f5debc2ce Author: Bastien Nocera Date: Wed Mar 19 16:16:39 2014 +0100 gom: Roughly document gom_adapter_open_async() URL in the text should probably be an hyper-link, but that will do for now. gom/gom-adapter.c | 10 ++++++++++ 1 file changed, 10 insertions(+) commit dedb415e785c859356633d37c6ce91f625e7c316 Author: Bastien Nocera Date: Wed Mar 19 16:16:11 2014 +0100 tests: Also test closing the database tests/test-gom-repository.c | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) commit 349b443a39e35f72f27154274da8ed8efaef487c Author: Bastien Nocera Date: Wed Mar 19 16:02:39 2014 +0100 tests: Test table migration in repository test tests/test-gom-repository.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 02b70e6edda231fb015590f0f2e5fc72a794686a Author: Cosimo Cecchi Date: Wed Jun 12 22:27:26 2013 -0700 Add missing element-type annotation Shut up a gobject-introspection warning. gom/gom-filter.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2098cf6fdab12cf7ddf2659d8184d3d55e411f5e Author: Cosimo Cecchi Date: Wed Jun 12 22:25:25 2013 -0700 Remove autogenerated file from git m4/gtk-doc.m4 | 71 ----------------------------------------------------------- 1 file changed, 71 deletions(-) commit bbea3e4cd20ea1e7fceedf748f217a909fa945c9 Author: Cosimo Cecchi Date: Wed Jun 12 22:24:58 2013 -0700 Really enable silent rules configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 68921f6a9d67a857adf486fb4d7e92755d6457ba Author: Christian Hergert Date: Wed Jun 12 22:21:25 2013 -0700 build: bump dependencies for new development. configure.ac | 10 ++++------ m4/gtk-doc.m4 | 6 +++++- tests/test-gom-adapter.c | 1 - tests/test-gom-repository.c | 1 - 4 files changed, 9 insertions(+), 9 deletions(-) commit f26eb343dea5f3bca27de2df3545bce720d0e690 Author: Christian Hergert Date: Wed Nov 7 03:21:07 2012 -0800 [build] Fix make distcheck. configure.ac | 4 ++-- gom/Makefile.include | 8 +++++--- 2 files changed, 7 insertions(+), 5 deletions(-) commit 1dae0dcff28bf94e40536493fd5956ddd0f15ce0 Author: Christian Hergert Date: Wed Nov 7 03:07:45 2012 -0800 [build] Work on making distcheck pass. Makefile.am | 8 ++------ Makefile.include | 11 ----------- configure.ac | 1 + doc/Makefile.am | 2 -- gom/Makefile.include | 3 ++- 5 files changed, 5 insertions(+), 20 deletions(-) commit aefa4e9e0d4b71a75a50a8830f90718b956a62f6 Author: Christian Hergert Date: Tue Nov 6 22:28:04 2012 -0800 [tests] Fix migration test. doc/Makefile.am | 2 +- tests/test-gom-repository.c | 30 +++++++++++++++++------------- 2 files changed, 18 insertions(+), 14 deletions(-) commit 2861070c8838934c36df0928e0712f4390713a55 Author: Christian Hergert Date: Tue Nov 6 20:32:05 2012 -0800 build: cleanup build system a bit. use gnome-autogen.sh, cleanup gtk-doc stuff. Makefile.am | 4 +- autogen.sh | 16 +------- build/m4/.gitignore | 6 --- build/m4/expansions.m4 | 50 ------------------------- build/m4/introspection.m4 | 94 ----------------------------------------------- build/m4/silent.m4 | 46 ----------------------- configure.ac | 22 ++--------- m4/.gitignore | 6 +++ m4/gtk-doc.m4 | 67 +++++++++++++++++++++++++++++++++ m4/introspection.m4 | 94 +++++++++++++++++++++++++++++++++++++++++++++++ m4/silent.m4 | 46 +++++++++++++++++++++++ 11 files changed, 219 insertions(+), 232 deletions(-) commit 6dc0903b770d3c21e271edf620f6fe9f4bd5c809 Author: Christian Hergert Date: Fri Sep 7 00:31:48 2012 -0700 build: remove gtkdocize from autogen. autogen.sh | 8 -------- 1 file changed, 8 deletions(-) commit 5e7db182586014ed92191b4b3fd7d400209aaca9 Author: Christian Hergert Date: Wed Sep 5 01:45:12 2012 -0700 use GArray instead of GValueArray. gom/gom-command-builder.c | 8 +++---- gom/gom-filter.c | 56 +++++++++++++++++++++++++++++++---------------- gom/gom-filter.h | 6 ++--- gom/gom-resource.c | 10 ++++----- 4 files changed, 49 insertions(+), 31 deletions(-) commit 91830e533d28e871ef7cfb2bcd0f586e9a248a00 Author: Christian Hergert Date: Wed Sep 5 01:44:32 2012 -0700 adapter: use g_thread_new() on GLib >= 2.32.0. gom/gom-adapter.c | 8 ++++++++ 1 file changed, 8 insertions(+) commit 4defdb53b139be98e05cfa99f92154bf7f8df753 Author: Christian Hergert Date: Wed Sep 5 01:44:06 2012 -0700 build: check for HAVE_INTROSPECTION. gom/Makefile.include | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit 968ace6295ddc67b1687b6563f6cef06efc55a87 Author: Christian Hergert Date: Wed Sep 5 01:43:55 2012 -0700 build: better gtk-doc check. configure.ac | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) commit 84b6c053c582ed7b189f2e2de63271cb8c1dd3b2 Author: Christian Hergert Date: Wed Aug 22 00:49:38 2012 -0700 command: add support for binding enum types to parameters. gom/gom-command.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) commit d8f741df4b862cba5b68385908001af188ef865c Author: Christian Hergert Date: Fri Mar 23 00:18:13 2012 -0700 [build] Bump version to 0.1.10. configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 523de6b95df3656c17a710331660fc36bba1415e Author: Christian Hergert Date: Sun Mar 18 05:22:26 2012 -0700 [doc] Add support for generating gtk-doc. Makefile.am | 2 ++ configure.ac | 4 ++++ doc/.gitignore | 7 ++++++ doc/Makefile.am | 60 +++++++++++++++++++++++++++++++++++++++++++++++++ doc/gom-docs.sgml | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ doc/version.xml.in | 1 + 6 files changed, 139 insertions(+) commit 4575866c400bf514405dca14caaa34f564f7dc22 Author: Christian Hergert Date: Sun Mar 18 04:17:21 2012 -0700 [repository] Mark migration successful if we are already current. gom/gom-repository.c | 1 + 1 file changed, 1 insertion(+) commit 91278c9676347d3559af62149141f1bf2468815a Author: Christian Hergert Date: Fri Mar 16 17:44:27 2012 -0700 [group] Make sure we own a reference to the async result. gom/gom-resource-group.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 66eae813ac9ea7dee5d73e2c31c386180ab3fea8 Author: Christian Hergert Date: Fri Mar 16 17:23:48 2012 -0700 [commandbuilder] Whitespace cleanup. gom/gom-command-builder.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit c5072d5f4c9c0dcf1ba6e5acd20042e46bf40b4d Author: Christian Hergert Date: Fri Mar 16 17:23:35 2012 -0700 [commandbuilder] Ignore build_map() called with NULL m2m_table. gom/gom-command-builder.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit e8340bd43cec051e6e0301030741a60777606dc6 Author: Christian Hergert Date: Fri Mar 16 05:03:50 2012 -0700 [command] Disable logging of all SQL commands. gom/gom-command.c | 2 ++ 1 file changed, 2 insertions(+) commit aac5aee5361512742d3840dfc96eb61e02f562ab Author: Christian Hergert Date: Fri Mar 16 05:02:11 2012 -0700 [adapter] Add helper for quick SQL inside of write callbacks. gom/gom-adapter.c | 35 +++++++++++++++++++++++++++++++++++ gom/gom-adapter.h | 3 +++ 2 files changed, 38 insertions(+) commit 2b79a05659927e4d6b47e9f6eb928e5cbb451f30 Author: Christian Hergert Date: Fri Mar 16 04:33:33 2012 -0700 [command] Handle GTypes of GTypeFlags. gom/gom-command.c | 4 ++++ 1 file changed, 4 insertions(+) commit a895120c3bec3fdb8377c74e2e2b764b25b242ae Author: Christian Hergert Date: Fri Mar 16 04:33:13 2012 -0700 [resource] Be a bit more resilient when changing repository. * Only notify if there is a repository being set. * Unset repository before removing weak pointer. gom/gom-resource.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) commit 215a39670abd5964c8ef4da5fc6ec482e86bbc97 Author: Christian Hergert Date: Fri Mar 16 00:48:25 2012 -0700 [build] Add log domain. Makefile.include | 1 + 1 file changed, 1 insertion(+) commit 669c53dea30608b9021161b2ab4f8c7a0fb593a7 Author: Christian Hergert Date: Thu Mar 15 18:12:40 2012 -0700 [repository] Add some docs to make GIR happy. gom/gom-repository.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) commit 7b4ed1550497caef286cd5d6a3cc52ce0588b597 Author: Christian Hergert Date: Tue Oct 25 23:18:52 2011 -0700 Start on repository tests. .gitignore | 1 + tests/Makefile.include | 15 ++++--- tests/test-gom-repository.c | 96 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 104 insertions(+), 8 deletions(-) commit 0d028a884dec25e496c596c593aaf9b6323d13b6 Author: Christian Hergert Date: Wed Oct 19 19:08:10 2011 -0700 Add gom_repository_find_one_sync(). gom/gom-repository.c | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++-- gom/gom-repository.h | 4 +++ 2 files changed, 96 insertions(+), 3 deletions(-) commit 3f48ab66935b8b453498ad6c80d6a36fefda127b Author: Christian Hergert Date: Wed Oct 19 18:55:15 2011 -0700 Add gom_resource_group_fetch_sync(). gom/gom-resource-group.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ gom/gom-resource-group.h | 4 ++++ 2 files changed, 48 insertions(+) commit 41945d5d20a702f7fc22f0bbb0137a317524f9ef Author: Christian Hergert Date: Wed Oct 19 18:36:55 2011 -0700 Add gom_repository_find_one_async(). gom/gom-repository.c | 109 +++++++++++++++++++++++++++++++++++++++++++++++++++ gom/gom-repository.h | 54 ++++++++++++++++--------- 2 files changed, 144 insertions(+), 19 deletions(-) commit 13989b61c096b2d89ef67f1b938af32c6b4fa4f9 Author: Christian Hergert Date: Wed Oct 19 18:36:42 2011 -0700 Add synchronous delete function for use in sqlite thread. gom/gom-resource.c | 72 ++++++++++++++++++++++++++++++++++++++++-------------- gom/gom-resource.h | 2 ++ 2 files changed, 56 insertions(+), 18 deletions(-) commit 249e273b7b212bcfe3395b7e2a15111340c4866b Author: Christian Hergert Date: Wed Oct 19 18:36:24 2011 -0700 Add boolean helpers. gom/gom-cursor.c | 1 + gom/gom-cursor.h | 2 ++ 2 files changed, 3 insertions(+) commit d83c8412ec237fa7e63042b3f0c91837473b4c8a Author: Christian Hergert Date: Mon Oct 17 15:52:30 2011 -0700 Allow saving resource synchronously if you are in the sqlite thread. gom/gom-resource.c | 82 +++++++++++++++++++++++++++++++++++++++++++----------- gom/gom-resource.h | 2 ++ 2 files changed, 68 insertions(+), 16 deletions(-) commit be383a6aff2a9f8e3aa7009996b052575d5834b0 Author: Christian Hergert Date: Sun Oct 16 23:27:54 2011 -0700 Start on tests for new Gom design. .gitignore | 3 +- tests/Makefile.include | 15 + tests/mock/mock-gender.c | 39 --- tests/mock/mock-gender.h | 41 --- tests/mock/mock-occupation.c | 47 --- tests/mock/mock-occupation.h | 55 ---- tests/mock/mock-person.c | 59 ---- tests/mock/mock-person.h | 55 ---- tests/test-gom-adapter.c | 58 ++++ tests/test-gom-gtk.c | 108 ------- tests/test-gom.c | 713 ------------------------------------------- tests/test-py-gom.py | 44 --- tests/test-vala-gom.vala | 27 -- 13 files changed, 74 insertions(+), 1190 deletions(-) commit 23808b633846741fbbc8bd180ccaf228d90efc6b Author: Christian Hergert Date: Sun Oct 16 23:27:41 2011 -0700 Add gom_adapter_close_async(). gom/gom-adapter.c | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- gom/gom-adapter.h | 38 +++++++++++++++++++++---------------- 2 files changed, 78 insertions(+), 17 deletions(-) commit 52dca60982cec1f409ac2743162d7f233b7e9024 Author: Christian Hergert Date: Sun Oct 16 23:27:24 2011 -0700 Add gom_adapter_new(). gom/gom-adapter.c | 6 ++++++ gom/gom-adapter.h | 1 + 2 files changed, 7 insertions(+) commit 3a63ca2ddd480a2bd148238017b70a612b4cafcb Author: Christian Hergert Date: Fri Oct 14 11:50:16 2011 -0700 Fix GObject Introspection warnings. gom/Makefile.include | 2 +- gom/gom-adapter.c | 29 ++++++++++++++++++++++++++++- gom/gom-command-builder.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ gom/gom-filter.c | 38 ++++++++++++++++++++++++++++++++++++++ gom/gom-repository.c | 32 ++++++++++++++++++++++++++++++++ gom/gom-resource-group.c | 11 +++++++++++ 6 files changed, 155 insertions(+), 2 deletions(-) commit d10e3ac0e2675ae98585740b8d25f51128f4ce82 Author: Christian Hergert Date: Fri Oct 14 11:22:28 2011 -0700 Start on a new approach for Gom. Abstracting the data store was turning out to be more difficult than it was worth. Therefore, we rely on SQLite directly. Additionally, this makes it much easier for us to implement asynchronous commands, migrations, and a cleaner object model. I'll update documentation and notes over time. configure.ac | 9 +- gom/Makefile.include | 40 +- gom/gom-adapter-sqlite.c | 1440 --------------------------- gom/gom-adapter-sqlite.h | 81 -- gom/gom-adapter.c | 330 ++++--- gom/gom-adapter.h | 82 +- gom/gom-collection.c | 600 ----------- gom/gom-collection.h | 78 -- gom/gom-command-builder.c | 736 ++++++++++++++ gom/gom-command-builder.h | 65 ++ gom/gom-command.c | 505 ++++++++++ gom/gom-command.h | 99 ++ gom/gom-condition.c | 282 ------ gom/gom-condition.h | 71 -- gom/gom-cursor.c | 299 ++++++ gom/gom-cursor.h | 76 ++ gom/gom-enumerable-array.c | 191 ---- gom/gom-enumerable-array.h | 60 -- gom/gom-enumerable-sqlite.c | 279 ------ gom/gom-enumerable-sqlite.h | 57 -- gom/gom-enumerable.c | 109 -- gom/gom-enumerable.h | 92 -- gom/gom-filter.c | 497 ++++++++++ gom/gom-filter.h | 98 ++ gom/gom-list-store.c | 548 ----------- gom/gom-list-store.h | 55 -- gom/gom-private.h | 33 - gom/gom-property-set.c | 349 ------- gom/gom-property-set.h | 60 -- gom/gom-property.h | 53 - gom/gom-query.c | 558 ----------- gom/gom-query.h | 66 -- gom/gom-relationship.h | 44 - gom/gom-repository.c | 471 +++++++++ gom/gom-repository.h | 83 ++ gom/gom-resource-group.c | 566 +++++++++++ gom/gom-resource-group.h | 69 ++ gom/gom-resource-macros.h | 77 -- gom/gom-resource.c | 2294 ++++++++++--------------------------------- gom/gom-resource.h | 131 +-- gom/gom-util.c | 73 -- gom/gom-util.h | 32 - gom/gom.h | 19 +- tests/Makefile.include | 63 -- 44 files changed, 4333 insertions(+), 7487 deletions(-) commit 11a5467915ab827d571fae72c7e2ce6c223ecbe2 Author: Christian Hergert Date: Wed May 11 00:30:08 2011 -0700 Start on threading helper. gom/gom-adapter.c | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++- gom/gom-adapter.h | 39 ++++++++++++++++----------- gom/gom-resource.c | 67 +++++++++++++++++++++++++++++++++++++--------- gom/gom-resource.h | 1 + 4 files changed, 155 insertions(+), 30 deletions(-) commit 219485b5c9824b53dce42ec97825dbf227e9d604 Author: Christian Hergert Date: Sun Apr 24 17:28:57 2011 -0700 Use weak pointer for GomResource::adapter. gom/gom-resource.c | 42 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) commit 394f722c6c60df9bc04034b4092409b5e7edb79b Author: Christian Hergert Date: Sun Apr 24 16:15:13 2011 -0700 Zero property data when freeing. gom/gom-resource.c | 1 + 1 file changed, 1 insertion(+) commit 931d355e51adf511913a2f6523add3b244a13884 Author: Christian Hergert Date: Sun Apr 24 14:36:39 2011 -0700 Hunt down some reference leaks. gom/gom-adapter-sqlite.c | 6 +++--- gom/gom-property-set.c | 21 ++++++++++++++------- gom/gom-query.c | 8 +++++++- gom/gom-resource.c | 6 +++--- 4 files changed, 27 insertions(+), 14 deletions(-) commit b0399e39694dca7ee384c63bad91fe83440f3c7b Author: Christian Hergert Date: Fri Apr 22 23:15:40 2011 -0700 Add "saved" signal to GomResource. gom/gom-resource.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) commit dfb846984f36c109d984742a7c28ce013633e57b Author: Christian Hergert Date: Fri Apr 22 22:23:19 2011 -0700 Leak cleanup. gom/gom-resource.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 9bb224cb7515b944dfb59f0d1b55cce7838febad Author: Christian Hergert Date: Fri Apr 22 22:23:02 2011 -0700 Remove dead comment. gom/gom-adapter.h | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) commit 6d3e05a6f04ddaaed0022b19e32822c18961c750 Author: Christian Hergert Date: Fri Apr 22 22:22:50 2011 -0700 [sqlite] Fix created tables leak. gom/gom-adapter-sqlite.c | 1 + 1 file changed, 1 insertion(+) commit 87f92ff2d9eba20cb0eb083e1388c36d4b4a26d4 Author: Christian Hergert Date: Mon Apr 18 21:24:44 2011 -0700 Add gom_resource_find_property(). This is a helper function to make things easier. I'm not sure if it will stay long term or not. We will see how useful it is. gom/gom-resource.c | 22 ++++++++++++++++++++++ gom/gom-resource.h | 2 ++ 2 files changed, 24 insertions(+) commit df5c5079712367046a796a90f206ea14110bce19 Author: Christian Hergert Date: Mon Apr 18 21:23:53 2011 -0700 Whitespace cleanup. gom/gom-resource.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit cf32ef617af284d4c87446317f52be20f79125b8 Author: Christian Hergert Date: Mon Apr 18 21:23:40 2011 -0700 Fix logic error. gom/gom-resource.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 975758ad9d5af420acbba58c20ec3c42b3e1d0a0 Author: Christian Hergert Date: Mon Apr 18 21:19:32 2011 -0700 gom_condition_equal() API change. This makes it easier to create a condition without the intermediary GValue. For the old API, use gom_condition_equal_value(). gom/gom-condition.c | 53 +++++++++++++++++++++++++++++++++++++++++++---------- gom/gom-condition.h | 4 +++- gom/gom-resource.c | 4 ++-- tests/test-gom.c | 6 +++--- 4 files changed, 51 insertions(+), 16 deletions(-) commit d185d69eafce15f17dea347f98641f975b1dbe0e Author: Christian Hergert Date: Mon Apr 18 21:17:02 2011 -0700 Add gom_collection_get_additions(). gom/gom-collection.c | 7 +++++++ gom/gom-collection.h | 1 + 2 files changed, 8 insertions(+) commit b0178146608e0f30aa9b18628aa80fa1205d2876 Author: Christian Hergert Date: Mon Apr 18 21:16:47 2011 -0700 [sqlite] use g_direct_hash since we store integer in pointer gom/gom-adapter-sqlite.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 5adac0cecc3dba5346cd97cc9d864034182dee21 Author: Christian Hergert Date: Mon Apr 18 21:16:26 2011 -0700 [sqlite] Add gom_adapter_sqlite_rollback(). gom/gom-adapter-sqlite.c | 7 +++++++ gom/gom-adapter-sqlite.h | 1 + 2 files changed, 8 insertions(+) commit d0009b0274107ebe83fb737e426634e7ea0cb5e0 Author: Christian Hergert Date: Sun Apr 17 17:19:07 2011 -0700 Only save dirty children. gom/gom-collection.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit d6a2f229f15f3b5b13c2337d7c9ce550922b8878 Author: Christian Hergert Date: Sun Apr 17 17:05:44 2011 -0700 Add gom_resource_merge() to merge their property dictionaries. This is similar to pythons dict.__update__ except it only copies the modified properties to the new resource. gom/gom-resource.c | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++- gom/gom-resource.h | 2 ++ 2 files changed, 66 insertions(+), 1 deletion(-) commit 79a2297b2b29c577819daea026b03bea4bb02f75 Author: Christian Hergert Date: Sun Apr 17 16:52:40 2011 -0700 Whitespace cleanup. gom/gom-resource.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 8f381c1e33245482a52296c2636f87e284c47d22 Author: Christian Hergert Date: Fri Apr 15 20:38:41 2011 -0700 [sqlite] throw an error if no properties are specified for update gom/gom-adapter-sqlite.c | 8 ++++++++ gom/gom-adapter-sqlite.h | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) commit 82a150962f438fa7b80b97482419e9a0d8bc72b9 Author: Christian Hergert Date: Thu Apr 14 16:51:02 2011 -0700 Save one-to-many mappings as children too. gom/gom-collection.c | 4 ++++ gom/gom-resource.c | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) commit 3dea035d0392cd6a039c439fd2f3fa34b9a3145f Author: Christian Hergert Date: Tue Apr 12 18:27:15 2011 -0700 Use property name in m2m table generation. gom/gom-adapter-sqlite.c | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) commit 58cf36fd762d41fafeafd2e1576ab30ee35c7884 Author: Christian Hergert Date: Tue Apr 12 01:27:57 2011 -0700 Error on collection save if no query. gom/gom-collection.c | 40 ++++++++++++++++++++++------------------ gom/gom-collection.h | 1 + 2 files changed, 23 insertions(+), 18 deletions(-) commit 152015c5fd920fdc314da2fde965fd3a67ada803 Author: Christian Hergert Date: Tue Apr 12 00:44:35 2011 -0700 cleanup gom/gom-resource.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) commit de2fe2c5da25ceafd934ee3c1bdcbf531f68373c Author: Christian Hergert Date: Mon Apr 11 23:50:02 2011 -0700 whitespace cleanup. gom/gom-resource.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 510e16244994d8249eb86a36535f05941c18abc1 Author: Christian Hergert Date: Mon Apr 11 23:42:16 2011 -0700 More work towards saving m2m collections. gom/gom-collection.c | 73 ++++++++++++++++++++- gom/gom-collection.h | 9 +++ gom/gom-resource.c | 174 +++++++++++++++++++++++++++++++++++++++------------ 3 files changed, 214 insertions(+), 42 deletions(-) commit e918953eed441124a39f1e434a8d08e085be3c1a Author: Christian Hergert Date: Sat Apr 9 10:59:58 2011 -0700 Try to handle many2many relationships individually. gom/gom-resource.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) commit 669ba919880a5f11b94e63068b704ef43e158133 Author: Christian Hergert Date: Thu Apr 7 22:24:15 2011 -0700 Fix some SQL generation issues. gom/gom-adapter-sqlite.c | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) commit 2a536802c45999d1e91e483f11b14586231dccaf Author: Christian Hergert Date: Thu Apr 7 22:23:58 2011 -0700 Start creating m2m tables. gom/gom-adapter-sqlite.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) commit 8269f93f95929ff6bbb6f5b38db96b51dc9546ca Author: Christian Hergert Date: Thu Apr 7 22:23:28 2011 -0700 Only free str if non-NULL. gom/gom-adapter-sqlite.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit d6b63e07629d34ebba78f5d75612bc8c246b740e Author: Christian Hergert Date: Thu Apr 7 19:16:47 2011 -0700 Assert on many to many until its implemented. gom/gom-adapter-sqlite.c | 3 +++ 1 file changed, 3 insertions(+) commit 7198f9b9a6e6bdcd72cc6402233c91f11b965654 Author: Christian Hergert Date: Thu Apr 7 19:16:30 2011 -0700 Use class name for log domain gom/gom-adapter-sqlite.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e8de8117c1975e5bf0e59f2b893b92e8ba8e5ac2 Author: Christian Hergert Date: Sun Apr 3 21:48:44 2011 -0700 start on api for save/remove from collections gom/gom-collection.c | 35 ++++++++++++++++++++++++++++++++++- gom/gom-collection.h | 24 ++++++++++++++---------- 2 files changed, 48 insertions(+), 11 deletions(-) commit 5216cacf7c6e78a804a7a70ae81789270e7dab90 Author: Christian Hergert Date: Sat Apr 2 23:51:56 2011 -0700 [sqlite] Only do pkey index if property is not serial. gom/gom-adapter-sqlite.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit c529fb3780f7ea628a1f7af954223ef6c3803fab Author: Christian Hergert Date: Sat Apr 2 23:34:39 2011 -0700 [resource] Reference the primary condition in multi-condition results. gom/gom-resource.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 9762f8f620dd77e48347f3a92f3e75fd5095000d Author: Christian Hergert Date: Sat Apr 2 23:33:55 2011 -0700 [condition] Reference right and left condition nodes. gom/gom-condition.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 8558badd9962feb3b7d86ed910f3805596c34c42 Author: Christian Hergert Date: Sat Apr 2 23:33:08 2011 -0700 [sqlite] Implement AND and OR conditions. gom/gom-adapter-sqlite.c | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) commit 8e2fbd6f4bee2f8a0f1e8a48177b4a64c1a1af85 Author: Christian Hergert Date: Sat Apr 2 23:32:50 2011 -0700 [sqlite] Delimit key name. This prevents us from coming up with keys like "foo_baz-id". gom/gom-adapter-sqlite.c | 1 + 1 file changed, 1 insertion(+) commit 288edbfd4055038be98b38ee8562069dc2518291 Author: Christian Hergert Date: Sat Apr 2 23:05:52 2011 -0700 [sqlite] Create _pkey index so we can support multi-key tables. gom/gom-adapter-sqlite.c | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) commit da5a308782fe6e200ae99d35c19ee08ba8c51995 Author: Christian Hergert Date: Fri Apr 1 14:00:59 2011 -0700 Fix building gtk test. tests/Makefile.include | 11 +++++++---- tests/test-gom-gtk.c | 1 + 2 files changed, 8 insertions(+), 4 deletions(-) commit a06b1f6e69d461a6fdd8c2d6228332daac8dc115 Author: Christian Hergert Date: Fri Apr 1 00:33:20 2011 -0700 Add API for asynchronous saving. However, this is still performed synchronously for now until we move adapters to job queues. configure.ac | 1 + gom/Makefile.include | 4 +++- gom/gom-resource.c | 38 ++++++++++++++++++++++++++++++++++++-- gom/gom-resource.h | 10 +++++++++- 4 files changed, 49 insertions(+), 4 deletions(-) commit 3734508860f7ad90b828bbdb8ed8fe3864b130e7 Author: Christian Hergert Date: Fri Apr 1 00:21:48 2011 -0700 Use CFLAGS in configure for warnings. Makefile.include | 24 ------------------------ configure.ac | 29 +++++++++++++++++++++++++---- 2 files changed, 25 insertions(+), 28 deletions(-) commit 7f955b5821bd3510745c20f6b73aa52c4c193a26 Author: Christian Hergert Date: Fri Apr 1 00:06:03 2011 -0700 Move gom_clear_pointer() and gom_clear_object() to non-inline. They may be too large on some systems to inline anyway. Also, use memset() to avoid strict-aliasing problems. gom/gom-util.c | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gom/gom-util.h | 33 +++----------------------- 2 files changed, 76 insertions(+), 30 deletions(-) commit f934a129dd1f048c828ea7046311bebef2be460e Author: Christian Hergert Date: Fri Apr 1 00:05:05 2011 -0700 Make Gtk+ support optional. configure.ac | 40 +++++++++++++++++++++++----------------- gom/Makefile.include | 9 ++++++--- gom/gom.h | 1 - tests/Makefile.include | 8 +++++++- 4 files changed, 36 insertions(+), 22 deletions(-) commit 26aea962f1e621b8ae7903f57897226f620d0987 Author: Christian Hergert Date: Thu Feb 24 19:48:55 2011 -0800 Ensure table before read gom/gom-adapter-sqlite.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) commit aa8767307ac3f19a9ae68170a249b047bc647103 Author: Christian Hergert Date: Thu Feb 24 19:19:41 2011 -0800 Require gtk+-3.0 3.0.0 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 4a79131b33a2bfcdbf3a78c7dc8e02319e8da730 Author: Christian Hergert Date: Wed Feb 23 01:59:15 2011 -0800 We have to dup the string and free it since sqlite doesn't do that for us gom/gom-adapter-sqlite.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 6df8a24be0c20e146f1bba6de31a27e5faaeb44e Author: Christian Hergert Date: Wed Feb 23 01:58:42 2011 -0800 Add ; to end of sql query gom/gom-adapter-sqlite.c | 2 ++ 1 file changed, 2 insertions(+) commit bc506e9d4f6198bb4509896c3e998e46d340bce7 Author: Christian Hergert Date: Wed Feb 23 01:38:35 2011 -0800 Simplify logic for building property list gom/gom-resource.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) commit 949c066426e50124660615d8142b2a281c44072f Author: Christian Hergert Date: Wed Feb 23 01:38:17 2011 -0800 Delimit property names in update sql gom/gom-adapter-sqlite.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) commit 5b096225b6bf1f70794fae98a3bea80aa652b812 Author: Christian Hergert Date: Wed Feb 23 01:38:01 2011 -0800 Use G_LOG_DOMAIN gom/gom-adapter-sqlite.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) commit 907858c50667b2bc6b84e9c51856dcb8f875ad74 Author: Christian Hergert Date: Wed Feb 23 01:04:18 2011 -0800 Remove unneeded variable gom/gom-adapter-sqlite.c | 2 -- 1 file changed, 2 deletions(-) commit 306ef761637b3cc5bb7831a36d766f9334f2d334 Author: Christian Hergert Date: Wed Feb 23 01:04:07 2011 -0800 Use G_LOG_DOMAIN. gom/gom-adapter-sqlite.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 435249ebe36a14d052eea5d1b73a984cbb690a27 Author: Christian Hergert Date: Wed Feb 23 01:03:52 2011 -0800 Use get functions where it makes sense gom/gom-adapter-sqlite.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit a99461e20f59bf2f802d51b3fd05ec83bad6f5bb Author: Christian Hergert Date: Wed Feb 23 00:45:54 2011 -0800 Log when no result came from DB gom/gom-collection.c | 2 ++ 1 file changed, 2 insertions(+) commit cbb1c1978c8fdbae663cb3505401f59e59eeda5c Author: Christian Hergert Date: Wed Feb 23 00:39:28 2011 -0800 Make "is-new" settable after construction. gom/gom-resource.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 63c08418b7198f80c491184445233dfaf9170e4b Author: Christian Hergert Date: Wed Feb 23 00:28:21 2011 -0800 Change log domain gom/gom-adapter-sqlite.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) commit 500b0267d186c24a3ffe76c81d62a73ebffa2b25 Author: Christian Hergert Date: Wed Feb 23 00:26:06 2011 -0800 Make gom_resource_get_condition() public gom/gom-resource.c | 2 +- gom/gom-resource.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) commit b6ec72c495bfaf540d18f784dae3b1926f8fc0d2 Author: Christian Hergert Date: Wed Feb 23 00:25:54 2011 -0800 add a little more debugging to sqlite adapter gom/gom-adapter-sqlite.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) commit b94a45c5272854b978a12472af9333ad2f42a184 Author: Christian Hergert Date: Wed Feb 23 00:12:02 2011 -0800 Work around properties that have - in them. gom/gom-adapter-sqlite.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) commit 5a7027f279873797f5b81212e5381e13ca067762 Author: Christian Hergert Date: Wed Feb 23 00:11:37 2011 -0800 Link against libgom-1.0. data/gom-1.0.pc.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit b5bb6ed5c776d6ccbe7c33ea2f20fc02400ce4c3 Author: Christian Hergert Date: Wed Feb 16 21:37:45 2011 -0800 wrap iter_previous in gtk3 check gom/gom-list-store.c | 4 ++++ 1 file changed, 4 insertions(+) commit 27500318954c5165fa420c96be6d25083481f535 Author: Christian Hergert Date: Wed Feb 16 21:08:36 2011 -0800 Add support for queries with offsets in list store gom/gom-list-store.c | 10 ++++++++++ 1 file changed, 10 insertions(+) commit 2511c1efab49511a2c9896b60724eedb1006784d Author: Christian Hergert Date: Wed Feb 16 21:01:47 2011 -0800 Add support for queries with limits in list store gom/gom-list-store.c | 9 +++++++++ 1 file changed, 9 insertions(+) commit be60b9fc33b4c047c3e637c9a18d371fb8f4f0cf Author: Christian Hergert Date: Wed Feb 16 20:36:40 2011 -0800 cleanup, try using fixed height/sizing tests/test-gom-gtk.c | 50 +++++++++++++++++++++++++++++++++----------------- 1 file changed, 33 insertions(+), 17 deletions(-) commit 323b94a85684a814e5010b2fcda5d98935c06ea1 Author: Christian Hergert Date: Wed Feb 16 20:36:30 2011 -0800 Only retrieve field we care about gom/gom-list-store.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit 31541500616323664b8e82fac56b77625765d0d9 Author: Christian Hergert Date: Wed Feb 16 20:22:00 2011 -0800 Start on a GtkTreeModel implementation .gitignore | 1 + configure.ac | 1 + gom/Makefile.include | 8 +- gom/gom-enumerable-sqlite.c | 6 +- gom/gom-list-store.c | 521 ++++++++++++++++++++++++++++++++++++++++++++ gom/gom-list-store.h | 55 +++++ gom/gom-private.h | 4 - gom/gom-property-set.h | 4 + gom/gom.h | 1 + tests/Makefile.include | 23 +- tests/test-gom-gtk.c | 91 ++++++++ 11 files changed, 707 insertions(+), 8 deletions(-) commit c263bd6760f95f7a410977162ef9af76a4dd6cfa Author: Christian Hergert Date: Wed Feb 16 17:56:38 2011 -0800 Remove gom-util.h from gom.h gom/gom.h | 1 - 1 file changed, 1 deletion(-) commit 40a73cf193f207f23813344620bac443748d5dd5 Author: Christian Hergert Date: Wed Feb 16 17:53:23 2011 -0800 Add unique test case tests/test-gom.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) commit 53daea9dd81a9f95de8951311367cab73a378b6d Author: Christian Hergert Date: Wed Feb 16 11:09:16 2011 -0800 Fix tests on -m slow tests/test-gom.c | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) commit 9f757122775eedc9a84142bd49e53e3634682e7a Author: Christian Hergert Date: Wed Feb 16 11:09:06 2011 -0800 Fix logic error gom/gom-collection.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2625a8a9693bd58df02a189a8e8512ef0100f2fc Author: Christian Hergert Date: Wed Feb 16 00:18:14 2011 -0800 recreate object from fields todo: eager fields gom/gom-resource.c | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) commit 7cb397870bf3504d7246727d1d0ac12105398786 Author: Christian Hergert Date: Wed Feb 16 00:17:54 2011 -0800 dont care about dirty status gom/gom-adapter-sqlite.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7e1caeff4e39ba0c1336b3453e4b5a444c3ba01b Author: Christian Hergert Date: Tue Feb 15 23:38:50 2011 -0800 cleanup gom/gom-enumerable-sqlite.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit 1690e1f4c06edd034e7f5428e0e7676af1a4b9da Author: Christian Hergert Date: Tue Feb 15 23:35:38 2011 -0800 Print error if needed gom/gom-resource.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) commit 33b8c6197c91f232e07a595ea3059728cab13083 Author: Christian Hergert Date: Tue Feb 15 23:17:31 2011 -0800 Join work gom/gom-adapter-sqlite.c | 23 +++++++++++++++++++++++ gom/gom-query.c | 22 ++++++++++------------ gom/gom-resource.c | 2 +- 3 files changed, 34 insertions(+), 13 deletions(-) commit 644f0e224ca6375ced706db7c95a1ebb243a17aa Author: Christian Hergert Date: Tue Feb 15 21:47:28 2011 -0800 Add join property for joining a single relation gom/gom-query.c | 37 ++++++++++++++++++++++++++++++++++++- gom/gom-resource.c | 9 ++++----- 2 files changed, 40 insertions(+), 6 deletions(-) commit 3b00e9bc0c1151d1eeb9fa52182927378df0b86b Author: Christian Hergert Date: Tue Feb 15 21:04:08 2011 -0800 More work on related properties. gom/gom-resource.c | 54 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 49 insertions(+), 5 deletions(-) commit 4aa2cf6c2362a823be9be93f59803e2b379f2930 Author: Christian Hergert Date: Tue Feb 15 20:15:56 2011 -0800 Remove old comment gom/gom-resource.c | 7 ------- 1 file changed, 7 deletions(-) commit 849e9d51a787d9e293843568c57f8c7e004634bf Author: Christian Hergert Date: Tue Feb 15 20:10:56 2011 -0800 Work towards lazy related resources gom/gom-adapter-sqlite.c | 9 +++++ gom/gom-resource.c | 100 +++++++++++++++++++++++++++++++++++++---------- gom/gom-resource.h | 1 - tests/test-gom.c | 37 ++++++++++++++++++ 4 files changed, 126 insertions(+), 21 deletions(-) commit d0d4568cdde87b64f39014223d9c2efd5d73b720 Author: Christian Hergert Date: Sun Feb 13 23:56:40 2011 -0800 Add gom_resource_find_first() gom/gom-resource.c | 43 +++++++++++++++++++++++++++++++++++++++++++ gom/gom-resource.h | 5 +++++ tests/test-gom.c | 29 +++++++++++++++++++++++++++++ 3 files changed, 77 insertions(+) commit a9a35d2f5fb1c27ae64d841758a2092ad7eb4461 Author: Christian Hergert Date: Sun Feb 13 23:44:56 2011 -0800 Update TODO TODO | 9 +++++++++ 1 file changed, 9 insertions(+) commit 3da6977a89b0032bdd7e6a21578aa2824897ffdf Author: Christian Hergert Date: Sun Feb 13 23:42:10 2011 -0800 Add property test to get_nth test case tests/test-gom.c | 2 ++ 1 file changed, 2 insertions(+) commit 6cf59f24ac288621b66831c547ac750fbe6c9825 Author: Christian Hergert Date: Sun Feb 13 23:32:50 2011 -0800 Ensure we aren't retrieving any GomResource or GomCollection fields gom/gom-adapter-sqlite.c | 41 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 3 deletions(-) commit bf4afa348cc615912bf926a24a87dc1e44d9c1f7 Author: Christian Hergert Date: Sun Feb 13 23:24:16 2011 -0800 Add TODO TODO | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) commit cb1e8e49aaf5748e6567b278cbd93a4a663e1385 Author: Christian Hergert Date: Thu Feb 10 01:59:08 2011 -0800 Remove GomResourceClassMeta and store in GomResourceClass structure gom/gom-adapter-sqlite.c | 48 ++++---------- gom/gom-resource.c | 169 +++++++++++++++++++++++------------------------ gom/gom-resource.h | 11 ++- 3 files changed, 100 insertions(+), 128 deletions(-) commit cfb3ae65ddb02132d3ef521af0e68625746819e9 Author: Christian Hergert Date: Thu Feb 10 01:14:15 2011 -0800 Make property set length a public, readonly field gom/gom-property-set.c | 108 +++++++++++++++++++++++++++---------------------- gom/gom-property-set.h | 5 +++ 2 files changed, 64 insertions(+), 49 deletions(-) commit a36a58f39ebd80398cc17a8f10cda3751c5863ce Author: Christian Hergert Date: Wed Feb 9 21:53:57 2011 -0800 Add more properties to unit tests tests/test-gom.c | 3 +++ 1 file changed, 3 insertions(+) commit a797035f3c14bdfd19fce77917967e65298cf83b Author: Christian Hergert Date: Wed Feb 9 21:32:59 2011 -0800 Read property from adapter if it hasn't been loaded gom/gom-resource.c | 99 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ tests/test-gom.c | 3 +- 2 files changed, 101 insertions(+), 1 deletion(-) commit ba21b79786d2c601281da2e5488672a39220d59d Author: Christian Hergert Date: Wed Feb 9 20:57:55 2011 -0800 Add gom_collection_get_nth(). gom/gom-collection.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ gom/gom-collection.h | 2 ++ tests/test-gom.c | 43 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 90 insertions(+) commit 7db68dffc278a9be8eab793ecf89ecaab9eaca92 Author: Christian Hergert Date: Wed Feb 9 20:57:29 2011 -0800 LIMIT belongs before OFFSET gom/gom-adapter-sqlite.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit a5cb9f988593a92cbf653fa62c3b4c651786054c Author: Christian Hergert Date: Wed Feb 9 20:47:26 2011 -0800 Add slice tests tests/test-gom.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 8820af49be81c0b275640f2f3687b9a0e5d7a103 Author: Christian Hergert Date: Wed Feb 9 20:47:21 2011 -0800 Cleanup gom/gom-property.h | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) commit 2fd55a9ea4f8ff8fb21986dc97d21567368db5de Author: Christian Hergert Date: Wed Feb 9 20:14:20 2011 -0800 Implement first, last, count, and slice functions for GomCollection - gom_collection_first() - gom_collection_last() - gom_collection_slice() - gom_collection_count() gom/gom-collection.c | 250 +++++++++++++++++++++++++++++++++++++++++++++++++++ gom/gom-collection.h | 8 +- tests/test-gom.c | 172 ++++++++++++++++++++++++++++++++++- 3 files changed, 428 insertions(+), 2 deletions(-) commit 8995bb78039161b5e69c3b43d9bf0db0dc82d3d8 Author: Christian Hergert Date: Wed Feb 9 20:13:22 2011 -0800 Implement GomAdapter::read virtual function for GomAdapterSqlite gom/Makefile.include | 2 + gom/gom-adapter-sqlite.c | 137 +++++++++++++++++++++- gom/gom-enumerable-sqlite.c | 271 ++++++++++++++++++++++++++++++++++++++++++++ gom/gom-enumerable-sqlite.h | 57 ++++++++++ 4 files changed, 465 insertions(+), 2 deletions(-) commit 8ace313d9a3080f533ccde25fde114b39ca8cd34 Author: Christian Hergert Date: Wed Feb 9 20:12:55 2011 -0800 Implement gom_resource_find() gom/gom-resource.c | 67 +++++++++++++++++++++++++++++++----------------------- gom/gom-resource.h | 6 ++++- 2 files changed, 44 insertions(+), 29 deletions(-) commit 4af16ec6e20384551899756972949751a78999e3 Author: Christian Hergert Date: Wed Feb 9 20:12:24 2011 -0800 Don't ref the property set. gom/gom-resource.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7356e8d32f340209eea16c7e8b947aa0d45b8879 Author: Christian Hergert Date: Wed Feb 9 20:12:15 2011 -0800 Add documentation gom/gom-resource.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) commit 075b8338bb585a776276c5de6e31a2ec31d25948 Author: Christian Hergert Date: Wed Feb 9 20:11:22 2011 -0800 Remove GomEnumerableResource gom/Makefile.include | 2 - gom/gom-enumerable-resource.c | 188 ------------------------------------------ gom/gom-enumerable-resource.h | 57 ------------- 3 files changed, 247 deletions(-) commit a98cafc62af1bdd9198f3a6f45ea45c7951672e5 Author: Christian Hergert Date: Wed Feb 9 20:11:02 2011 -0800 Add GomCollection::adapter property gom/gom-collection.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) commit e8ac65d57fa93d7d4d1ca1fc9722dd79d013e9e8 Author: Christian Hergert Date: Wed Feb 9 20:09:34 2011 -0800 Use 'table'.'field' format for sqlite gom/gom-adapter-sqlite.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e356c4170672c980ccf01c5778a320aeecc79732 Author: Christian Hergert Date: Wed Feb 9 20:09:07 2011 -0800 Set iter->enumerable for the subclasses gom/gom-enumerable.c | 5 +++++ 1 file changed, 5 insertions(+) commit fd112671946aece587bd87c1b261f4b59f2820e2 Author: Christian Hergert Date: Wed Feb 9 20:08:35 2011 -0800 Add translation functions for GDateTime gom/gom-resource.c | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) commit d608f31b55ff5836436370eb4346387ba937cdbf Author: Christian Hergert Date: Wed Feb 9 20:08:04 2011 -0800 Add GomQuery::count-only and GomQuery::reverse properties gom/gom-query.c | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 78 insertions(+), 7 deletions(-) commit 35d7c2df0c1d27a414f64eb69f4047870459e126 Author: Christian Hergert Date: Wed Feb 9 20:07:41 2011 -0800 Add gom_query_dup() gom/gom-query.c | 23 +++++++++++++++++++++++ gom/gom-query.h | 5 +++-- 2 files changed, 26 insertions(+), 2 deletions(-) commit b463b46817d671b897010d4b51b2efea46ea5b6e Author: Christian Hergert Date: Tue Feb 8 21:51:26 2011 -0800 Stub out required infrastructure for retrieving resources gom/Makefile.include | 2 + gom/gom-adapter.h | 4 + gom/gom-condition.c | 2 +- gom/gom-condition.h | 2 +- gom/gom-enumerable-resource.c | 188 ++++++++++++++++++++++++++++++++++++++++++ gom/gom-enumerable-resource.h | 57 +++++++++++++ gom/gom-resource.c | 99 +++++++++++++++++++--- gom/gom-resource.h | 2 +- 8 files changed, 343 insertions(+), 13 deletions(-) commit c67ceb768ccabfc18f3df2378cd7822c29daffcf Author: Christian Hergert Date: Tue Feb 8 21:16:16 2011 -0800 stub out gom_adapter_read() gom/gom-adapter-sqlite.c | 41 +++++++++++++++++++++++++++++----- gom/gom-adapter.c | 57 ++++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 89 insertions(+), 9 deletions(-) commit d1dc6be33d8b932fde3bb3dfdfc17d0159710c96 Author: Christian Hergert Date: Tue Feb 8 21:15:58 2011 -0800 header cleanup. gom/gom-resource.h | 105 +++++++++++++++++++++++++++-------------------------- 1 file changed, 53 insertions(+), 52 deletions(-) commit 479040a1d564f8374a4ac5ebf186f08a84d30717 Author: Christian Hergert Date: Tue Feb 8 21:15:45 2011 -0800 Move some code around gom/gom-resource.c | 66 +++++++++++++++++++++++++++--------------------------- 1 file changed, 33 insertions(+), 33 deletions(-) commit b1f5f5757ef485e256aa823d60db31210e9a188d Author: Christian Hergert Date: Tue Feb 8 03:09:26 2011 -0800 Add gtk-docs for GomCondition. gom/gom-condition.c | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) commit 67e2f06209063dc13cc2eb65ae7b35b3e250ec89 Author: Christian Hergert Date: Tue Feb 8 03:02:56 2011 -0800 Add gtk-doc for GomEnumerableArray. gom/gom-enumerable-array.c | 10 ++++++++++ 1 file changed, 10 insertions(+) commit e896bdbe93f366856a4c739e1792fba644eec3dc Author: Christian Hergert Date: Tue Feb 8 03:01:14 2011 -0800 Make get_n_columns static. gom/gom-enumerable-array.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0b958d745de3c398ba17ba2c37092ced3ce80eb8 Author: Christian Hergert Date: Tue Feb 8 03:00:26 2011 -0800 Add gtk-doc for GomPropertySet. gom/gom-property-set.c | 41 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) commit 113794f1c7d99f509b8d484b104c8c017d754ed5 Author: Christian Hergert Date: Tue Feb 8 02:56:22 2011 -0800 Add GomAdapter gtk-docs gom/gom-adapter.c | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) commit 2cae3640d62f0c918653cd9182761af4e84eb9e0 Author: Christian Hergert Date: Tue Feb 8 02:44:07 2011 -0800 Start implementing GomAdapter::update() gom/gom-adapter-sqlite.c | 141 ++++++++++++++++++++++++++++++++++++++++++++++- gom/gom-resource.c | 104 +++++++++++++++++++++++++++++++++- 2 files changed, 240 insertions(+), 5 deletions(-) commit 0b7ee6c483338a059810ed4b81b9c7164dceb12a Author: Christian Hergert Date: Mon Feb 7 22:10:58 2011 -0800 Add gom_adapter_update() virtual function gom/gom-adapter.c | 11 +++++++++++ gom/gom-adapter.h | 5 +++++ 2 files changed, 16 insertions(+) commit 4056a1a4fdc28decef45b304531bd9a1e82dc94b Author: Christian Hergert Date: Mon Feb 7 22:10:36 2011 -0800 Add gom_property_set_dup() to copy a property set This also adds gom_property_set_remove() as an internal function. gom/gom-private.h | 6 ++++-- gom/gom-property-set.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ gom/gom-property-set.h | 1 + 3 files changed, 49 insertions(+), 2 deletions(-) commit 6466e95fd1bafa722c731a09506276485dbb60b7 Author: Christian Hergert Date: Mon Feb 7 22:09:39 2011 -0800 Add GOM_QUERY_DEFAULT default sort order We might want to consider renaming these to have "Sort" in the name. Such as: GOM_QUERY_SORT_DEFAULT GOM_QUERY_SORT_ASCENDING GOM_QUERY_SORT_DESCENDING gom/gom-query.c | 5 +++-- gom/gom-query.h | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) commit 3387c2f3b69c7854082b0bee7d92d162d8c2beb1 Author: Christian Hergert Date: Mon Feb 7 22:08:30 2011 -0800 Cleanup gom/gom-resource.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 215df7f3d4c9009a463480590e96bcb3dca0e757 Author: Christian Hergert Date: Mon Feb 7 22:08:25 2011 -0800 Add test case for updating a resource tests/test-gom.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) commit 453b4f9025344bc9c61409f39dad1a7a9c6e9768 Author: Christian Hergert Date: Mon Feb 7 22:07:58 2011 -0800 Mark properties as clean after creating resource in sqlite gom/gom-adapter-sqlite.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) commit 71dcddf977cc751153d3934e4aa07ff3d6058345 Author: Christian Hergert Date: Mon Feb 7 18:52:53 2011 -0800 Add test code to see how well GObject Introspection is working tests/test-py-gom.py | 44 ++++++++++++++++++++++++++++++++++++++++++++ tests/test-vala-gom.vala | 27 +++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) commit 8a14ce0dc397c8c30c6a535890dfb14d339b7466 Author: Christian Hergert Date: Mon Feb 7 18:52:20 2011 -0800 Add GomResource::is-new. gom/gom-resource.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) commit c1fae53bde4000995a7b09bb4db7c87ee8a5a806 Author: Christian Hergert Date: Mon Feb 7 12:09:03 2011 -0800 Add introspection.m4 for systems without gobject-introspection. build/m4/.gitignore | 6 +++ build/m4/introspection.m4 | 94 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 100 insertions(+) commit 11b27d758d966e1bdfa95eea77e88b6352e48f62 Author: Christian Hergert Date: Mon Feb 7 11:13:35 2011 -0800 Add missing m4 macros. .gitignore | 1 - build/m4/expansions.m4 | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ build/m4/silent.m4 | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 96 insertions(+), 1 deletion(-) commit 71acf1869490cd42cbf06716c04992352f40f97b Author: Christian Hergert Date: Mon Feb 7 01:17:59 2011 -0800 Build introspection files. .gitignore | 2 + Makefile.introspection | 155 +++++++++++++++++++++++++++++++++++++++++++++++++ configure.ac | 2 +- gom/Makefile.include | 21 +++++++ 4 files changed, 179 insertions(+), 1 deletion(-) commit f8b23c6db6b8ecadb18def08e3e9d03ebd040d43 Author: Christian Hergert Date: Mon Feb 7 00:53:04 2011 -0800 Only log sql if environment variable is set gom/gom-adapter-sqlite.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit fd0183a6ecb8a49d0f455cbf58e93611b986dd59 Author: Christian Hergert Date: Mon Feb 7 00:51:49 2011 -0800 Re-enable assertions gom/gom-adapter-sqlite.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 1e74fa85437871bbc08199492275ba056940cd23 Author: Christian Hergert Date: Mon Feb 7 00:35:00 2011 -0800 Make gom_resource_delete() work for the basic test case. gom/gom-adapter-sqlite.c | 83 ++++++++++++++++++++++++++++++++++++++++++++++-- gom/gom-condition.c | 4 +++ tests/test-gom.c | 11 +++---- 3 files changed, 90 insertions(+), 8 deletions(-) commit df28c4d7e8fccd5a7de3cfe4352f72b0631a0c87 Author: Christian Hergert Date: Sun Feb 6 16:19:37 2011 -0800 Incremental progress towards gom_resource_delete(). gom/gom-adapter-sqlite.c | 74 +++++++++++++++++++++++++++++++++++++++++++++++ gom/gom-condition.c | 48 +++++++++++++++++++++++++++++-- gom/gom-condition.h | 28 +++++++++++------- gom/gom-resource.c | 75 ++++++++++++++++++++++++++++++++++++++++++++++++ tests/test-gom.c | 38 ++++++++++++++++++++++++ 5 files changed, 250 insertions(+), 13 deletions(-) commit 8d400913e038820c51115c6fc033c7f874d591da Author: Christian Hergert Date: Sun Feb 6 13:24:34 2011 -0800 Check for sqlite3 using pkg-config configure.ac | 1 + gom/Makefile.include | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) commit fc5383a541c9f85918de85e8920f9c9c635aeaa8 Author: Christian Hergert Date: Sun Feb 6 13:21:55 2011 -0800 Set dependency libraries for test-gom tests/Makefile.include | 4 ++++ 1 file changed, 4 insertions(+) commit 2ae7fe4ff31ff533e39ee877246e712521eaa2ae Author: Christian Hergert Date: Sun Feb 6 13:19:45 2011 -0800 Use non-recursive automake .gitignore | 27 ++++++- AUTHORS | 1 + COPYING | 165 +++++++++++++++++++++++++++++++++++++++++++ ChangeLog | 5 ++ Makefile | 83 ---------------------- Makefile.am | 33 +++++++++ Makefile.include | 34 +++++++++ Makefile.tests | 57 +++++++++++++++ NEWS | 0 autogen.sh | 25 +++++++ configure.ac | 126 +++++++++++++++++++++++++++++++++ data/Makefile.include | 3 + data/gom-1.0.pc.in | 11 +++ gom/Makefile.include | 46 ++++++++++++ gom/gom-resource.c | 2 +- mock/mock-gender.c | 39 ---------- mock/mock-gender.h | 41 ----------- mock/mock-occupation.c | 47 ------------ mock/mock-occupation.h | 55 --------------- mock/mock-person.c | 59 ---------------- mock/mock-person.h | 55 --------------- tests/Makefile.include | 29 ++++++++ tests/mock/mock-gender.c | 39 ++++++++++ tests/mock/mock-gender.h | 41 +++++++++++ tests/mock/mock-occupation.c | 47 ++++++++++++ tests/mock/mock-occupation.h | 55 +++++++++++++++ tests/mock/mock-person.c | 59 ++++++++++++++++ tests/mock/mock-person.h | 55 +++++++++++++++ 28 files changed, 856 insertions(+), 383 deletions(-) commit bb207aba30b18d364b9dd220a17dc90d632c3f8e Author: Christian Hergert Date: Sun Feb 6 12:31:20 2011 -0800 Add GomCondition, to define the query conditions Makefile | 3 + gom/gom-condition.c | 136 +++++++++++++++++++++++++++++++++++++++++++ gom/gom-condition.h | 61 ++++++++++++++++++++ gom/gom-query.c | 163 ++++++++++++++++++++++++++++++++++++---------------- gom/gom.h | 1 + tests/test-gom.c | 10 ++++ 6 files changed, 323 insertions(+), 51 deletions(-) commit 35be3d1858ad397df3e65451d944c51f561241c2 Author: Christian Hergert Date: Sun Feb 6 12:30:44 2011 -0800 Add gom_property_set_findq(). gom/gom-property-set.c | 9 ++++++++- gom/gom-property-set.h | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) commit 4305b44618b580b085ded2a550c049f7bcc59386 Author: Christian Hergert Date: Sat Feb 5 19:59:23 2011 -0800 Get started on implementing GomQuery gom/gom-property-set.c | 17 +++ gom/gom-query.c | 295 ++++++++++++++++++++++++++++++++++++++++--------- tests/test-gom.c | 35 ++++++ 3 files changed, 293 insertions(+), 54 deletions(-) commit 3f356b4f434951322323dca3fe7405500426049c Author: Christian Hergert Date: Sat Feb 5 01:43:01 2011 -0800 Incremental work towards queries. Makefile | 1 + gom/gom-adapter.c | 8 +++ gom/gom-adapter.h | 11 +-- gom/gom-collection.c | 76 ++++++++++++++++++++ gom/gom-collection.h | 2 - gom/gom-enumerable-array.c | 2 +- gom/gom-enumerable-array.h | 2 +- gom/gom-query.c | 176 +++++++++++++++++++++++++++++++++++++++++++++ gom/gom-query.h | 17 +++-- 9 files changed, 283 insertions(+), 12 deletions(-) commit 407f06318bb2224a518c33a104e6b8d7931a0406 Author: Christian Hergert Date: Fri Feb 4 23:12:29 2011 -0800 Initial commit. .gitignore | 5 + Makefile | 79 ++++ README | 11 + gom/gom-adapter-sqlite.c | 771 +++++++++++++++++++++++++++++++++++ gom/gom-adapter-sqlite.h | 79 ++++ gom/gom-adapter.c | 40 ++ gom/gom-adapter.h | 92 +++++ gom/gom-collection.c | 84 ++++ gom/gom-collection.h | 57 +++ gom/gom-enumerable-array.c | 181 +++++++++ gom/gom-enumerable-array.h | 60 +++ gom/gom-enumerable.c | 104 +++++ gom/gom-enumerable.h | 92 +++++ gom/gom-private.h | 35 ++ gom/gom-property-set.c | 225 +++++++++++ gom/gom-property-set.h | 48 +++ gom/gom-property.h | 53 +++ gom/gom-query.h | 55 +++ gom/gom-relationship.h | 44 ++ gom/gom-resource-macros.h | 77 ++++ gom/gom-resource.c | 985 +++++++++++++++++++++++++++++++++++++++++++++ gom/gom-resource.h | 124 ++++++ gom/gom-util.h | 59 +++ gom/gom.h | 44 ++ mock/mock-gender.c | 39 ++ mock/mock-gender.h | 41 ++ mock/mock-occupation.c | 47 +++ mock/mock-occupation.h | 55 +++ mock/mock-person.c | 59 +++ mock/mock-person.h | 55 +++ tests/test-gom.c | 238 +++++++++++ 31 files changed, 3938 insertions(+)