~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to libdrizzle/column_server.h

  • Committer: Brian Aker
  • Date: 2009-10-15 00:22:33 UTC
  • mto: (1183.1.11 merge)
  • mto: This revision was merged to the branch mainline in revision 1198.
  • Revision ID: brian@gaz-20091015002233-fa4ao2mbc67wls91
First pass of information engine. OMG, ponies... is it so much easier to
deal with creating and engine.

The list table iterator though... its ass, needs to go. We should also
abstract out share. Very few engines need a custom one. Just say'in

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * Drizzle Client & Protocol Library
3
 
 *
4
 
 * Copyright (C) 2008 Eric Day (eday@oddments.org)
5
 
 * All rights reserved.
6
 
 *
7
 
 * Redistribution and use in source and binary forms, with or without
8
 
 * modification, are permitted provided that the following conditions are
9
 
 * met:
10
 
 *
11
 
 *     * Redistributions of source code must retain the above copyright
12
 
 * notice, this list of conditions and the following disclaimer.
13
 
 *
14
 
 *     * Redistributions in binary form must reproduce the above
15
 
 * copyright notice, this list of conditions and the following disclaimer
16
 
 * in the documentation and/or other materials provided with the
17
 
 * distribution.
18
 
 *
19
 
 *     * The names of its contributors may not be used to endorse or
20
 
 * promote products derived from this software without specific prior
21
 
 * written permission.
22
 
 *
23
 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24
 
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25
 
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
26
 
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
27
 
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
28
 
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
29
 
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
30
 
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
31
 
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32
 
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
33
 
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
 
 *
35
 
 */
36
 
 
37
 
/**
38
 
 * @file
39
 
 * @brief Column Declarations for Servers
40
 
 */
41
 
 
42
 
#ifndef __DRIZZLE_COLUMN_SERVER_H
43
 
#define __DRIZZLE_COLUMN_SERVER_H
44
 
 
45
 
#ifdef __cplusplus
46
 
extern "C" {
47
 
#endif
48
 
 
49
 
/**
50
 
 * @addtogroup drizzle_column_server Column Declarations for Servers
51
 
 * @ingroup drizzle_server_interface
52
 
 *
53
 
 * These functions allow you to send column information over a connection.
54
 
 * @{
55
 
 */
56
 
 
57
 
/**
58
 
 * Write column information.
59
 
 */
60
 
DRIZZLE_API
61
 
drizzle_return_t drizzle_column_write(drizzle_result_st *result,
62
 
                                      drizzle_column_st *column);
63
 
 
64
 
/**
65
 
 * Set catalog name for a column.
66
 
 */
67
 
DRIZZLE_API
68
 
void drizzle_column_set_catalog(drizzle_column_st *column, const char *catalog);
69
 
 
70
 
/**
71
 
 * Set database name for a column.
72
 
 */
73
 
DRIZZLE_API
74
 
void drizzle_column_set_db(drizzle_column_st *column, const char *db);
75
 
 
76
 
/**
77
 
 * Set table name for a column.
78
 
 */
79
 
DRIZZLE_API
80
 
void drizzle_column_set_table(drizzle_column_st *column, const char *table);
81
 
 
82
 
/**
83
 
 * Set original table name for a column.
84
 
 */
85
 
DRIZZLE_API
86
 
void drizzle_column_set_orig_table(drizzle_column_st *column,
87
 
                                   const char *orig_table);
88
 
 
89
 
/**
90
 
 * Set column name for a column.
91
 
 */
92
 
DRIZZLE_API
93
 
void drizzle_column_set_name(drizzle_column_st *column, const char *name);
94
 
 
95
 
/**
96
 
 * Set original column name for a column.
97
 
 */
98
 
DRIZZLE_API
99
 
void drizzle_column_set_orig_name(drizzle_column_st *column,
100
 
                                  const char *orig_name);
101
 
 
102
 
/**
103
 
 * Set charset for a column.
104
 
 */
105
 
DRIZZLE_API
106
 
void drizzle_column_set_charset(drizzle_column_st *column,
107
 
                                drizzle_charset_t charset);
108
 
 
109
 
/**
110
 
 * Set size of a column.
111
 
 */
112
 
DRIZZLE_API
113
 
void drizzle_column_set_size(drizzle_column_st *column, uint32_t size);
114
 
 
115
 
/**
116
 
 * Set the type of a column.
117
 
 */
118
 
DRIZZLE_API
119
 
void drizzle_column_set_type(drizzle_column_st *column,
120
 
                             drizzle_column_type_t type);
121
 
 
122
 
/**
123
 
 * Set flags for a column.
124
 
 */
125
 
DRIZZLE_API
126
 
void drizzle_column_set_flags(drizzle_column_st *column,
127
 
                              drizzle_column_flags_t flags);
128
 
 
129
 
/**
130
 
 * Set the number of decimals for numeric columns.
131
 
 */
132
 
DRIZZLE_API
133
 
void drizzle_column_set_decimals(drizzle_column_st *column, uint8_t decimals);
134
 
 
135
 
/**
136
 
 * Set default value for a column.
137
 
 */
138
 
DRIZZLE_API
139
 
void drizzle_column_set_default_value(drizzle_column_st *column,
140
 
                                      const uint8_t *default_value,
141
 
                                      size_t size);
142
 
 
143
 
/** @} */
144
 
 
145
 
#ifdef __cplusplus
146
 
}
147
 
#endif
148
 
 
149
 
#endif /* __DRIZZLE_COLUMN_SERVER_H */