X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fzoom-c.c;h=38846b0223924056a1c00d04ecce93ca970a0c8e;hb=1b8b5cb2b718a805d40ce904c270ea5fbf5b1e7c;hp=c28eca73acce3ea12331fbf14113882c579eef0f;hpb=e72e394106dd25d6a8a8c7c2fa677f40ef5e7eb6;p=yaz-moved-to-github.git diff --git a/src/zoom-c.c b/src/zoom-c.c index c28eca7..38846b0 100644 --- a/src/zoom-c.c +++ b/src/zoom-c.c @@ -2,7 +2,7 @@ * Copyright (c) 2000-2004, Index Data * See the file LICENSE for details. * - * $Id: zoom-c.c,v 1.27 2004-04-28 22:44:59 adam Exp $ + * $Id: zoom-c.c,v 1.29 2004-08-02 10:06:34 adam Exp $ * * ZOOM layer for C, connections, result sets, queries. */ @@ -807,7 +807,8 @@ static zoom_ret do_connect (ZOOM_connection c) yaz_log (LOG_DEBUG, "do_connect host=%s", effective_host); - assert (!c->cs); + if (c->cs) + cs_close(c->cs); c->cs = cs_create_host (effective_host, 0, &add); if (c->cs && c->cs->protocol == PROTO_HTTP) @@ -1000,7 +1001,7 @@ static zoom_ret ZOOM_connection_send_init (ZOOM_connection c) ZOOM_options_get(c->options, "implementationName"), odr_prepend(c->odr_out, "ZOOM-C", ireq->implementationName)); - version = odr_strdup(c->odr_out, "$Revision: 1.27 $"); + version = odr_strdup(c->odr_out, "$Revision: 1.29 $"); if (strlen(version) > 10) /* check for unexpanded CVS strings */ version[strlen(version)-2] = '\0'; ireq->implementationVersion = odr_prepend(c->odr_out, @@ -2669,17 +2670,22 @@ ZOOM_API(void) apdu->u.extendedServicesRequest->taskSpecificParameters = r; } } - if (!strcmp(type, "create")) /* create database */ + else if (!strcmp(type, "create")) /* create database */ { apdu = create_admin_package(p, Z_ESAdminOriginPartToKeep_create, 0, 0); } - if (!strcmp(type, "drop")) /* drop database */ + else if (!strcmp(type, "drop")) /* drop database */ { apdu = create_admin_package(p, Z_ESAdminOriginPartToKeep_drop, 0, 0); } - if (!strcmp(type, "update")) /* update record(s) */ + else if (!strcmp(type, "commit")) /* commit changes */ + { + apdu = create_admin_package(p, Z_ESAdminOriginPartToKeep_commit, + 0, 0); + } + else if (!strcmp(type, "update")) /* update record(s) */ { apdu = create_update_package(p); }