+ YAZ_CHECK(list);
+
+ service = conf_service_create(nmem, 4, 3);
+ YAZ_CHECK(service);
+
+ YAZ_CHECK(conf_service_add_metadata(nmem, service, 0, "title",
+ Metadata_type_generic, Metadata_merge_unique,
+ 1, 1, 1, 0));
+
+ YAZ_CHECK(conf_service_add_metadata(nmem, service, 1, "author",
+ Metadata_type_generic, Metadata_merge_longest,
+ 1, 1, 1, 0));
+
+ YAZ_CHECK(conf_service_add_metadata(nmem, service, 2, "isbn",
+ Metadata_type_number, Metadata_merge_no,
+ 1, 1, 1, 0));
+
+ YAZ_CHECK(conf_service_add_metadata(nmem, service, 3, "year",
+ Metadata_type_year, Metadata_merge_range,
+ 1, 1, 1, 0));
+
+ YAZ_CHECK(conf_service_add_sortkey(nmem, service, 0, "relevance",
+ Metadata_sortkey_relevance));
+
+ YAZ_CHECK(conf_service_add_sortkey(nmem, service, 1, "title",
+ Metadata_sortkey_string));
+
+ YAZ_CHECK(conf_service_add_sortkey(nmem, service, 2, "year",
+ Metadata_sortkey_numeric));
+
+
+
+
+ // testing record things
+ record = record_create(nmem, 4, 3);
+ YAZ_CHECK(record);
+
+ // why on earth do we have a client dangeling from the record ??
+ // record->client = client;
+
+ char * bla = "blabla";
+ union data_types data_text;
+ data_text.text = bla;
+
+
+ union data_types data_num;
+ data_num.number.min = 2;
+ data_num.number.max = 5;
+
+ struct record_metadata * tmp_md = 0;
+ tmp_md = record_metadata_insert(nmem, &(record->metadata[0]), data_text);
+ YAZ_CHECK(tmp_md);
+ tmp_md = record_metadata_insert(nmem, &tmp_md, data_text);
+ YAZ_CHECK(tmp_md);
+
+ YAZ_CHECK(record_add_metadata_field_id(nmem, record, 3, data_num));
+ YAZ_CHECK(record_add_metadata_field_id(nmem, record, 3, data_num));
+
+ YAZ_CHECK(record_add_metadata(nmem, record, service, "author", data_text));
+ YAZ_CHECK(record_add_metadata(nmem, record, service, "author", data_text));
+
+
+ YAZ_CHECK(record_assign_sortkey_field_id(nmem, record, 0, data_text));
+ YAZ_CHECK(record_assign_sortkey_field_id(nmem, record, 1, data_text));
+ YAZ_CHECK(record_assign_sortkey_field_id(nmem, record, 2, data_num));
+
+ YAZ_CHECK(record_assign_sortkey(nmem, record, service, "relevance", data_text));
+ YAZ_CHECK(record_assign_sortkey(nmem, record, service, "title", data_text));
+ YAZ_CHECK(record_assign_sortkey(nmem, record, service, "year", data_num));
+
+
+
+