GByteArray* sqlx_pack_REPLICATE(struct sqlx_name_s *name, struct TableSequence *tabseq) { GError *err = NULL; GByteArray *body, *encoded; MESSAGE req; EXTRA_ASSERT(name != NULL); EXTRA_ASSERT(tabseq != NULL); body = sqlx_encode_TableSequence(tabseq, &err); if (!body) { GRID_WARN("Transaction encoding error : (%d) %s", err->code, err->message); return NULL; } req = make_request("SQLX_REPLICATE", name); (void) message_set_BODY(req, body->data, body->len, NULL); encoded = message_marshall_gba(req, NULL); g_byte_array_free(body, TRUE); (void) message_destroy(req, NULL); return encoded; }
GByteArray* sqlx_pack_REPLICATE(struct sqlx_name_s *name, struct TableSequence *tabseq) { EXTRA_ASSERT(name != NULL); EXTRA_ASSERT(tabseq != NULL); MESSAGE req = make_request(NAME_MSGNAME_SQLX_REPLICATE, name); metautils_message_add_body_unref(req, sqlx_encode_TableSequence(tabseq, NULL)); return message_marshall_gba_and_clean(req); }
GByteArray* sqlx_pack_QUERY(struct sqlx_name_s *name, const gchar *query, struct TableSequence *params, gboolean autocreate) { EXTRA_ASSERT(name != NULL); EXTRA_ASSERT(query != NULL); guint8 ac = (guint8) autocreate; MESSAGE req = make_request(NAME_MSGNAME_SQLX_QUERY, name); metautils_message_add_field(req, NAME_MSGKEY_AUTOCREATE, &ac, 1); metautils_message_add_fields_str(req, NAME_MSGKEY_QUERY, query, NULL); if (!params) metautils_message_add_body_unref (req, sqlx_encode_TableSequence(params, NULL)); return message_marshall_gba_and_clean(req); }
GByteArray* sqlx_pack_QUERY(struct sqlxsrv_name_s *name, const gchar *query, struct TableSequence *params, gboolean autocreate) { MESSAGE req; guint8 ac = (guint8) autocreate; EXTRA_ASSERT(name != NULL); EXTRA_ASSERT(query != NULL); req = make_srv_request("SQLX_QUERY", name); message_add_field(req, "AUTOCREATE", 10, &ac, 1, NULL); message_add_fields_str(req, "QUERY", query, NULL); if (!params) { GByteArray *body; body = sqlx_encode_TableSequence(params, NULL); message_set_BODY(req, body->data, body->len, NULL); g_byte_array_free(body, TRUE); } return message_marshall_gba_and_clean(req); }
GByteArray* sqlx_pack_QUERY_single(struct sqlx_name_s *name, const gchar *query, gboolean autocreate) { EXTRA_ASSERT(name != NULL); EXTRA_ASSERT(query != NULL); MESSAGE req = make_request(NAME_MSGNAME_SQLX_QUERY, name); guint8 ac = (guint8) autocreate; do { Table_t *t = g_malloc0(sizeof(Table_t)); OCTET_STRING_fromBuf(&(t->name), query, strlen(query)); TableSequence_t *ts = g_malloc0(sizeof(TableSequence_t)); asn_sequence_add(&(ts->list), t); metautils_message_add_body_unref(req, sqlx_encode_TableSequence(ts, NULL)); metautils_message_add_field(req, NAME_MSGKEY_AUTOCREATE, &ac, 1); asn_DEF_TableSequence.free_struct(&asn_DEF_TableSequence, ts, FALSE); } while (0); return message_marshall_gba_and_clean(req); }
GByteArray* sqlx_pack_QUERY_single(struct sqlxsrv_name_s *name, const gchar *query, gboolean autocreate) { struct message_s *req = NULL; guint8 ac = (guint8) autocreate; EXTRA_ASSERT(name != NULL); EXTRA_ASSERT(query != NULL); req = make_srv_request("SQLX_QUERY", name); g_assert(req != NULL); do { Table_t *t; TableSequence_t *ts; GByteArray *body; t = g_malloc0(sizeof(Table_t)); g_assert(t != NULL); ts = g_malloc0(sizeof(TableSequence_t)); g_assert(ts != NULL); OCTET_STRING_fromBuf(&(t->name), query, strlen(query)); asn_sequence_add(&(ts->list), t); body = sqlx_encode_TableSequence(ts, NULL); g_assert(body != NULL); message_set_BODY(req, body->data, body->len, NULL); message_add_field(req, "AUTOCREATE", 10, &ac, 1, NULL); asn_DEF_TableSequence.free_struct(&asn_DEF_TableSequence, ts, FALSE); g_byte_array_free(body, TRUE); } while (0); return message_marshall_gba_and_clean(req); }