ODK Survey: crashing on adding members to the household

I've got a problem developing a survey for ODK Survey using App Designer rev.126

I'm playing off of the working examples for a household and household members. Of course, I've added tons of questions. However, I keep getting a crash when get to the part where I try to add a household member.
It looks to my like I have added questions with datanames for the Members, but those columns are not being written into the household_member table.
It seems to choke when it gets to the first of the new data columns "member1"

I include part of the relevant error here, but I have attached the javascript debugging as a txt.
I attach as well the household and household_member xlsx as well.

E/withDb.transaction.error.sqlStmt (seq: 1 timestamp: 1427382179270) detail: insert into "household_member" ("_id", "_row_etag", "_sync_state", "_conflict_type", "_filter_type", "_filter_value", "_form_id", "_locale", "_savepoint_type", "_savepoint_timestamp", "_savepoint_creator", "household_id", "num_rooms", "electricity", "water", "location_latitude", "location_longitude", "location_altitude", "location_accuracy", "name", "age", "sex", "income_contribution", "owner", "youngest", "write_language", "attend_school", "school_type", "grade_level", "post_secondary", "currently_school", "member1", "member3", "member4", "member5", "member6", "member7", "member8", "member9") values (?, null, ?, null, null, null, ?, ?, null, ?, ?, ?, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);

(removed for brevity)

detail: could not prepare statement (1 table household_member has no column named member1)

I had this working and somehow killed it, but I feel like it should work, so I wonder if I can get some fresh eyes on it.

thanks!

hh_debug.txt (8.2 KB)

household_new.xlsx (15.6 KB)

member.xlsx (16 KB)

Adding some details to this ODK Survey question, since I know there aren't
a lot of ODK users using it, and it might be interesting to those
considering it.

I can't add those columns to the database, which is stored on the phone in
the sqllite db.
All the "programming" is done in these XLS files, and it should allow you
to be able to add new questions.

In one XLSX, I can link the survey to another table like this:

linked_table linked_members Make a list of all individuals who normally
live in this household Add House Member

Then, the value "linked_members" is a reference to a query in the same
workbook that looks like this:

*query_name* *query_type* *linked_form_id* *linked_table_id* *selection*

selectionArgs auxillaryHash linked_members linked_table member
household_member household_id = ? [ data('household_id') ]
'household_id='+encodeURIComponent(data('household_id'))

so, that links to a seperate XLSX defining a different table in the
database. In that XLSX, i just create questions with new column named
"name" for each question that I show the user (display.text).

name display.text Now we would like some information about the
people who usually live in your household or who are staying with you
now. Data
for household: {{data.household_id}} name Name age Age sex Sex
member1 What
is the relationship of {{data.name}} to the head of the household?
member3 Does
{{data.name}} usually live here? member4 Did {{data.name}} stay here last
night? member6 To the nearest hour, what time last night did {{data.name}}
go indoors for the evening? member7 To the nearest hour, what time last
night did {{data.name}} go to bed? member8 To the nearest hour, what time
this morning did {{data.name}} get out of bed? member9 To the nearest
hour, what time this morning did {{data.name}} go outdoors?

Now, i am using example XLSX tables that already work, so, right up to the
part where I add a question, it's all fine. The first question i add is
this:

member1What is the relationship of {{data.name}} to the head of the
household?

So, i run this through the ODK AppDesigner, it takes the XLSX files and
builds the app. But when I run it, that's when I get the crashola. In the
javascript debugger, i see member1 highlighted.

detail: could not prepare statement (1 table household_member has no
column named member1)

So, the creation of the database and the columns is handled by AppDesigner
https://opendatakit.org/use/2_0_tools/odk-application-designer-2-0-rev126/#ODK_Survey_Designing_a_Form,
and i don't see it. Yet, it's failing in adding member1 and the other new
fields.

Any thoughts?

N

ยทยทยท On Fri, Mar 27, 2015 at 12:32 AM Gary Hendrick wrote:

I see this:

shim.js:148 E/withDb.transaction.error.sqlStmt (seq: 1 timestamp:

1427382179270) detail: insert into "household_member" ("_id", "_row_etag",
"_sync_state", "_conflict_type", "_filter_type", "_filter_value",
"_form_id", "_locale", "_savepoint_type", "_savepoint_timestamp",
"_savepoint_creator", "household_id", "num_rooms", "electricity", "water",
"location_latitude", "location_longitude", "location_altitude",
"location_accuracy", "name", "age", "sex", "income_contribution", "owner",
"youngest", "write_language", "attend_school", "school_type",
"grade_level", "post_secondary", "currently_school", "member1", "member3",
"member4", "member5", "member6", "member7", "member8", "member9") values
(?, null, ?, null, null, null, ?, ?, null, ?, ?, ?, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null,
null);shim.js:148 window.shim.window.shim.logcontroller.js:1176
baseContext.logdatabase.js:18 (anonymous function)dbif.js:151 (anonymous
function)

shim.js:148 E/withDb.transaction.error.sqlBinds (seq: 1 timestamp:
1427382179270) detail: uuid:0b82c36f-d02f-4ca8-bde1-
5ac12c4b7df1,new_row,member,default,2015-03-26T15:02:59.
257000000,username:badger,777shim.js:148 window.shim.window.shim.logcontroller.js:1176
baseContext.logdatabase.js:19 (anonymous function)dbif.js:151 (anonymous
function)

shim.js:148 E/withDb.transaction.error (seq: 1 timestamp: 1427382179270)
detail: could not prepare statement (1 table household_member has no column
named member1)

This makes it look to me liek the sql statement from shim.js:148 fails
because it is attempting to use the column name "member1". Do you have
that database on hand ? Maybe an earlier command to create the column
"member1" in "household_member" failed.

What do you think ?
-g

On Thu, Mar 26, 2015 at 3:35 PM, mojotexas@gmail.com wrote:

On Thursday, March 26, 2015 at 11:23:05 AM UTC-4, mojo...@gmail.com wrote:

I've got a problem developing a survey for ODK Survey using App
Designer rev.126

I'm playing off of the working examples for a household and household
members. Of course, I've added tons of questions. However, I keep getting a
crash when get to the part where I try to add a household member.
It looks to my like I have added questions with datanames for the
Members, but those columns are not being written into the household_member
table.
It seems to choke when it gets to the first of the new data columns
"member1"

I include part of the relevant error here, but I have attached the
javascript debugging as a txt.
I attach as well the household and household_member xlsx as well.

E/withDb.transaction.error.sqlStmt (seq: 1 timestamp: 1427382179270)
detail: insert into "household_member" ("_id", "_row_etag", "_sync_state",
"_conflict_type", "_filter_type", "_filter_value", "_form_id", "_locale",
"_savepoint_type", "_savepoint_timestamp", "_savepoint_creator",
"household_id", "num_rooms", "electricity", "water", "location_latitude",
"location_longitude", "location_altitude", "location_accuracy", "name",
"age", "sex", "income_contribution", "owner", "youngest", "write_language",
"attend_school", "school_type", "grade_level", "post_secondary",
"currently_school", "member1", "member3", "member4", "member5", "member6",
"member7", "member8", "member9") values (?, null, ?, null, null, null, ?,
?, null, ?, ?, ?, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null);

(removed for brevity)

detail: could not prepare statement (1 table household_member has no
column named member1)

I had this working and somehow killed it, but I feel like it should
work, so I wonder if I can get some fresh eyes on it.

thanks!

This sounds like a simple case of not fully wiping the device and/or
purging the database.

In the Application Designer, whenever you add new columns to a form, you
need to Purge Database to delete the tables and allow the first opening of
the survey to re-create it with the additional columns.

On the device, you need to Force Close all the ODK tools (ODK Survey, ODK
Tables, ODK Sync) and then delete the entire application directory (e.g.,
/sdcard/opendatakit/survey) and push everything down clean from the
Application Designer.

If you have pre-populated data tables, you can first use tables to export
them to CSV, then pull them back up to the ApplicationDesigner, place them
in the assets/csv tree, and wire them up in the tables.init to get them to
pre-populate when you next push everything (though in that case, to get
pre-population to work, you need to be running ODK Tables and using that to
launch ODK Survey).

The key directories to wipe on the device are the metadata directory, which
contains the database, and you need to update the table and form definition.

ยทยทยท On Thu, Mar 26, 2015 at 8:23 AM, wrote:

I've got a problem developing a survey for ODK Survey using App Designer
rev.126

I'm playing off of the working examples for a household and household
members. Of course, I've added tons of questions. However, I keep getting a
crash when get to the part where I try to add a household member.
It looks to my like I have added questions with datanames for the Members,
but those columns are not being written into the household_member table.
It seems to choke when it gets to the first of the new data columns
"member1"

I include part of the relevant error here, but I have attached the
javascript debugging as a txt.
I attach as well the household and household_member xlsx as well.

E/withDb.transaction.error.sqlStmt (seq: 1 timestamp: 1427382179270)
detail: insert into "household_member" ("_id", "_row_etag", "_sync_state",
"_conflict_type", "_filter_type", "_filter_value", "_form_id", "_locale",
"_savepoint_type", "_savepoint_timestamp", "_savepoint_creator",
"household_id", "num_rooms", "electricity", "water", "location_latitude",
"location_longitude", "location_altitude", "location_accuracy", "name",
"age", "sex", "income_contribution", "owner", "youngest", "write_language",
"attend_school", "school_type", "grade_level", "post_secondary",
"currently_school", "member1", "member3", "member4", "member5", "member6",
"member7", "member8", "member9") values (?, null, ?, null, null, null, ?,
?, null, ?, ?, ?, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null);

(removed for brevity)

detail: could not prepare statement (1 table household_member has no
column named member1)

I had this working and somehow killed it, but I feel like it should work,
so I wonder if I can get some fresh eyes on it.

thanks!

--
You received this message because you are subscribed to the Google Groups
"ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
Mitch Sundt
Software Engineer
University of Washington
mitchellsundt@gmail.com

1 Like

pasting from the other thread:

This sounds like a simple case of not fully wiping the device and/or
purging the database.

In the Application Designer, whenever you add new columns to a form, you
need to Purge Database to delete the tables and allow the first opening of
the survey to re-create it with the additional columns.

On the device, you need to Force Close all the ODK tools (ODK Survey, ODK
Tables, ODK Sync) and then delete the entire application directory (e.g.,
/sdcard/opendatakit/survey) and push everything down clean from the
Application Designer.

If you have pre-populated data tables, you can first use tables to export
them to CSV, then pull them back up to the ApplicationDesigner, place them
in the assets/csv tree, and wire them up in the tables.init to get them to
pre-populate when you next push everything (though in that case, to get
pre-population to work, you need to be running ODK Tables and using that to
launch ODK Survey).

The key directories to wipe on the device are the metadata directory, which
contains the database, and you need to update the table and form definition.

ยทยทยท ---------------

Additionally:

The ODK 2.0 tools continue the mindset of ODK Aggregate, where we require
that the tableID change when adding new columns. In this case, by
deleting everything, the device never knows there was anything before, and
you can reuse the tableID.

The export and import of data using CSVs is the way to port data across
table schema changes. The import works if the CSV contains a subset of a
table's columns.

On Fri, Mar 27, 2015 at 7:01 AM, Neil Hendrick mojotexas@gmail.com wrote:

Adding some details to this ODK Survey question, since I know there aren't
a lot of ODK users using it, and it might be interesting to those
considering it.

I can't add those columns to the database, which is stored on the phone in
the sqllite db.
All the "programming" is done in these XLS files, and it should allow you
to be able to add new questions.

In one XLSX, I can link the survey to another table like this:

linked_table linked_members Make a list of all individuals who normally
live in this household Add House Member

Then, the value "linked_members" is a reference to a query in the same
workbook that looks like this:

*query_name* *query_type* *linked_form_id* *linked_table_id*

selection selectionArgs auxillaryHash linked_members linked_table
member household_member household_id = ? [ data('household_id') ]
'household_id='+encodeURIComponent(data('household_id'))

so, that links to a seperate XLSX defining a different table in the
database. In that XLSX, i just create questions with new column named
"name" for each question that I show the user (display.text).

name display.text Now we would like some information about the
people who usually live in your household or who are staying with you now. Data
for household: {{data.household_id}} name Name age Age sex Sex
member1 What is the relationship of {{data.name}} to the head of the
household? member3 Does {{data.name}} usually live here? member4 Did {{
data.name}} stay here last night? member6 To the nearest hour, what
time last night did {{data.name}} go indoors for the evening? member7 To
the nearest hour, what time last night did {{data.name}} go to bed?
member8 To the nearest hour, what time this morning did {{data.name}} get
out of bed? member9 To the nearest hour, what time this morning did {{
data.name}} go outdoors?

Now, i am using example XLSX tables that already work, so, right up to the
part where I add a question, it's all fine. The first question i add is
this:

member1What is the relationship of {{data.name}} to the head of the
household?

So, i run this through the ODK AppDesigner, it takes the XLSX files and
builds the app. But when I run it, that's when I get the crashola. In the
javascript debugger, i see member1 highlighted.

detail: could not prepare statement (1 table household_member has no
column named member1)

So, the creation of the database and the columns is handled by AppDesigner
https://opendatakit.org/use/2_0_tools/odk-application-designer-2-0-rev126/#ODK_Survey_Designing_a_Form,
and i don't see it. Yet, it's failing in adding member1 and the other new
fields.

Any thoughts?

N

On Fri, Mar 27, 2015 at 12:32 AM Gary Hendrick gary.hendrick@gmail.com wrote:

I see this:

shim.js:148 E/withDb.transaction.error.sqlStmt (seq: 1 timestamp:

1427382179270) detail: insert into "household_member" ("_id", "_row_etag",
"_sync_state", "_conflict_type", "_filter_type", "_filter_value",
"_form_id", "_locale", "_savepoint_type", "_savepoint_timestamp",
"_savepoint_creator", "household_id", "num_rooms", "electricity", "water",
"location_latitude", "location_longitude", "location_altitude",
"location_accuracy", "name", "age", "sex", "income_contribution", "owner",
"youngest", "write_language", "attend_school", "school_type",
"grade_level", "post_secondary", "currently_school", "member1", "member3",
"member4", "member5", "member6", "member7", "member8", "member9") values
(?, null, ?, null, null, null, ?, ?, null, ?, ?, ?, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null,
null);shim.js:148 window.shim.window.shim.logcontroller.js:1176
baseContext.logdatabase.js:18 (anonymous function)dbif.js:151 (anonymous
function)

shim.js:148 E/withDb.transaction.error.sqlBinds (seq: 1 timestamp:
1427382179270) detail: uuid:0b82c36f-d02f-4ca8-bde1-
5ac12c4b7df1,new_row,member,default,2015-03-26T15:02:59.
257000000,username:badger,777shim.js:148 window.shim.window.shim.logcontroller.js:1176
baseContext.logdatabase.js:19 (anonymous function)dbif.js:151 (anonymous
function)

shim.js:148 E/withDb.transaction.error (seq: 1 timestamp: 1427382179270)
detail: could not prepare statement (1 table household_member has no column
named member1)

This makes it look to me liek the sql statement from shim.js:148 fails
because it is attempting to use the column name "member1". Do you have
that database on hand ? Maybe an earlier command to create the column
"member1" in "household_member" failed.

What do you think ?
-g

On Thu, Mar 26, 2015 at 3:35 PM, mojotexas@gmail.com wrote:

On Thursday, March 26, 2015 at 11:23:05 AM UTC-4, mojo...@gmail.com wrote:

I've got a problem developing a survey for ODK Survey using App
Designer rev.126

I'm playing off of the working examples for a household and household
members. Of course, I've added tons of questions. However, I keep getting a
crash when get to the part where I try to add a household member.
It looks to my like I have added questions with datanames for the
Members, but those columns are not being written into the household_member
table.
It seems to choke when it gets to the first of the new data columns
"member1"

I include part of the relevant error here, but I have attached the
javascript debugging as a txt.
I attach as well the household and household_member xlsx as well.

E/withDb.transaction.error.sqlStmt (seq: 1 timestamp: 1427382179270)
detail: insert into "household_member" ("_id", "_row_etag", "_sync_state",
"_conflict_type", "_filter_type", "_filter_value", "_form_id", "_locale",
"_savepoint_type", "_savepoint_timestamp", "_savepoint_creator",
"household_id", "num_rooms", "electricity", "water", "location_latitude",
"location_longitude", "location_altitude", "location_accuracy", "name",
"age", "sex", "income_contribution", "owner", "youngest", "write_language",
"attend_school", "school_type", "grade_level", "post_secondary",
"currently_school", "member1", "member3", "member4", "member5", "member6",
"member7", "member8", "member9") values (?, null, ?, null, null, null, ?,
?, null, ?, ?, ?, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null);

(removed for brevity)

detail: could not prepare statement (1 table household_member has no
column named member1)

I had this working and somehow killed it, but I feel like it should
work, so I wonder if I can get some fresh eyes on it.

thanks!

--
You received this message because you are subscribed to the Google Groups
"ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
Mitch Sundt
Software Engineer
University of Washington
mitchellsundt@gmail.com

Hey Mitch, thanks.
I'm testing in the AppDeveloper itself, so i think i can just purge the
databases there. I have also quit and restarted the app with grunt, but to
no avail, i'm still getting the same crash. I have attached another debug
log from the javascript debugger in the browser.
Any chance you could take a look at the XLSXs that I attached earlier and
see if I am making a mistake in there?

~Neil

debug_AD4.txt (33 KB)

ยทยทยท On Fri, Mar 27, 2015 at 5:08 PM Mitch Sundt wrote:

This sounds like a simple case of not fully wiping the device and/or
purging the database.

In the Application Designer, whenever you add new columns to a form, you
need to Purge Database to delete the tables and allow the first opening of
the survey to re-create it with the additional columns.

On the device, you need to Force Close all the ODK tools (ODK Survey, ODK
Tables, ODK Sync) and then delete the entire application directory (e.g.,
/sdcard/opendatakit/survey) and push everything down clean from the
Application Designer.

If you have pre-populated data tables, you can first use tables to export
them to CSV, then pull them back up to the ApplicationDesigner, place them
in the assets/csv tree, and wire them up in the tables.init to get them to
pre-populate when you next push everything (though in that case, to get
pre-population to work, you need to be running ODK Tables and using that to
launch ODK Survey).

The key directories to wipe on the device are the metadata directory,
which contains the database, and you need to update the table and form
definition.

Hi Neil,

I won't be able to look at it right now.

To confirm that it is a problem with the form, try opening and accessing
the grunt website using an Incognito window. That should give you a unique
pristine database; if you still get an error, then there is something in
the form that is exercising a bug in the ApplicationDesigner.

(I will have time to look at this later tomorrow) [working remotely and at
odd times]

ยทยทยท On Fri, Mar 27, 2015 at 2:28 PM, Neil Hendrick wrote:

Hey Mitch, thanks.
I'm testing in the AppDeveloper itself, so i think i can just purge the
databases there. I have also quit and restarted the app with grunt, but to
no avail, i'm still getting the same crash. I have attached another debug
log from the javascript debugger in the browser.
Any chance you could take a look at the XLSXs that I attached earlier and
see if I am making a mistake in there?

~Neil

On Fri, Mar 27, 2015 at 5:08 PM Mitch Sundt mitchellsundt@gmail.com wrote:

This sounds like a simple case of not fully wiping the device and/or
purging the database.

In the Application Designer, whenever you add new columns to a form, you
need to Purge Database to delete the tables and allow the first opening of
the survey to re-create it with the additional columns.

On the device, you need to Force Close all the ODK tools (ODK Survey, ODK
Tables, ODK Sync) and then delete the entire application directory (e.g.,
/sdcard/opendatakit/survey) and push everything down clean from the
Application Designer.

If you have pre-populated data tables, you can first use tables to export
them to CSV, then pull them back up to the ApplicationDesigner, place them
in the assets/csv tree, and wire them up in the tables.init to get them to
pre-populate when you next push everything (though in that case, to get
pre-population to work, you need to be running ODK Tables and using that to
launch ODK Survey).

The key directories to wipe on the device are the metadata directory,
which contains the database, and you need to update the table and form
definition.

--
You received this message because you are subscribed to the Google Groups
"ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
Mitch Sundt
Software Engineer
University of Washington
mitchellsundt@gmail.com

Mitch,
Thanks great help.
In fact, launching a new incognito browser actually works! I don't know why
I can't purge the database in a regular browser, but as long as I can get
it to work, I'm happy.

One question regarding your note:

The export and import of data using CSVs is the way to port data across
table schema changes. The import works if the CSV contains a subset of a
table's columns.

*Are you advising against using linked table queries *like the example
where the survey goes from a general household survey to a sub-survey that
adds household members? In ODK Collect we would have used a repeating
section, but the ODKS docs describe doing it like this:

*clause condition type values_list name display.text *

linked_table members Add info for the household members

query_namequery_typelinked_form_idlinked_table_idselectionselectionArgs
auxillaryHashmemberslinked_tablemembers_infohouse_membershouse_id = ?[
data('house_id') ]''house_id='+escape(data('house_id'))

Thanks for the pointers, Mitch.

~Neil

No. Use the linked table. I was referring to migrations across incompatible
database schemas -- either incompatibilities you introduce by, e.g., adding
columns, or incompatibilities that the ODK 2.0 tools introduce by changing
the metadata columns present in the tables.

ยทยทยท On Sat, Mar 28, 2015 at 3:06 PM, Neil Hendrick wrote:

Mitch,
Thanks great help.
In fact, launching a new incognito browser actually works! I don't know
why I can't purge the database in a regular browser, but as long as I can
get it to work, I'm happy.

One question regarding your note:

The export and import of data using CSVs is the way to port data across
table schema changes. The import works if the CSV contains a subset of a
table's columns.

*Are you advising against using linked table queries *like the example
where the survey goes from a general household survey to a sub-survey that
adds household members? In ODK Collect we would have used a repeating
section, but the ODKS docs describe doing it like this:

*clause condition type values_list name display.text *

linked_table members Add info for the household members

query_namequery_typelinked_form_idlinked_table_idselectionselectionArgs
auxillaryHashmemberslinked_tablemembers_infohouse_membershouse_id = ?[
data('house_id') ]''house_id='+escape(data('house_id'))

Thanks for the pointers, Mitch.

~Neil

--
You received this message because you are subscribed to the Google Groups
"ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
Mitch Sundt
Software Engineer
University of Washington
mitchellsundt@gmail.com

W.r.t. linked table. This example uses a user-supplied key (household_id)
as the foreign key into the household_members table. We now consider this
inadvisable.

Instead, we recommend using the framework-generated instanceId (_id
metadata column) to link the two tables. This allows end-users to edit and
change the household_id without destroying the linkage to the subordinate
table. I.e., it allows all user-supplied data to be modified without
affecting the relationships among the tables.

We have not had time to update this example with this new way of working.

I haven't tested it, but I believe this would work:

query_namequery_typelinked_form_idlinked_table_idselectionselectionArgs
auxillaryHashmemberslinked_tablemembers_infohouse_membershouse_id = ?[
metadata('_id') ]''house_id='+escape(metadata('_id'))

ยทยทยท On Sat, Mar 28, 2015 at 4:18 PM, Mitch Sundt wrote:

No. Use the linked table. I was referring to migrations across
incompatible database schemas -- either incompatibilities you introduce by,
e.g., adding columns, or incompatibilities that the ODK 2.0 tools introduce
by changing the metadata columns present in the tables.

On Sat, Mar 28, 2015 at 3:06 PM, Neil Hendrick mojotexas@gmail.com wrote:

Mitch,
Thanks great help.
In fact, launching a new incognito browser actually works! I don't know
why I can't purge the database in a regular browser, but as long as I can
get it to work, I'm happy.

One question regarding your note:

The export and import of data using CSVs is the way to port data across
table schema changes. The import works if the CSV contains a subset of a
table's columns.

*Are you advising against using linked table queries *like the example
where the survey goes from a general household survey to a sub-survey that
adds household members? In ODK Collect we would have used a repeating
section, but the ODKS docs describe doing it like this:

*clause condition type values_list name display.text *

linked_table members Add info for the household members

query_namequery_typelinked_form_idlinked_table_idselectionselectionArgs
auxillaryHashmemberslinked_tablemembers_infohouse_membershouse_id = ?[
data('house_id') ]''house_id='+escape(data('house_id'))

Thanks for the pointers, Mitch.

~Neil

--
You received this message because you are subscribed to the Google Groups
"ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
Mitch Sundt
Software Engineer
University of Washington
mitchellsundt@gmail.com

--
Mitch Sundt
Software Engineer
University of Washington
mitchellsundt@gmail.com