sqlanywhere 0.1.0-i486-linux → 0.1.1-i486-linux

Sign up to get free protection for your applications and to get access to all the features.
data/ext/sacapidll.c ADDED
@@ -0,0 +1,162 @@
1
+ //====================================================
2
+ //
3
+ // Copyright 2008 iAnywhere Solutions, Inc.
4
+ //
5
+ // Licensed under the Apache License, Version 2.0 (the "License");
6
+ // you may not use this file except in compliance with the License.
7
+ // You may obtain a copy of the License at
8
+ //
9
+ // http://www.apache.org/licenses/LICENSE-2.0
10
+ //
11
+ // Unless required by applicable law or agreed to in writing, software
12
+ // distributed under the License is distributed on an "AS IS" BASIS,
13
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ //
15
+ // See the License for the specific language governing permissions and
16
+ // limitations under the License.
17
+ //
18
+ // While not a requirement of the license, if you do modify this file, we
19
+ // would appreciate hearing about it. Please email
20
+ // sqlany_interfaces@sybase.com
21
+ //
22
+ //====================================================
23
+ #include <string.h>
24
+ #include <stdlib.h>
25
+ #include <stdio.h>
26
+
27
+ #if defined( _WIN32 )
28
+ #include <windows.h>
29
+ #define DEFAULT_LIBRARY_NAME "dbcapi.dll"
30
+ #else
31
+ #include <dlfcn.h>
32
+ /* assume we are running on a UNIX platform */
33
+ #if defined( _REENTRANT ) || defined( _THREAD_SAFE ) \
34
+ || defined( __USE_REENTRANT )
35
+ /* if building a thread-safe library, we need to load
36
+ the thread-safe dbcapi library */
37
+ #define DEFAULT_LIBRARY_NAME "libdbcapi_r.so"
38
+ #else
39
+ #define DEFAULT_LIBRARY_NAME "libdbcapi.so"
40
+ #endif
41
+ #endif
42
+
43
+ #include "sacapidll.h"
44
+
45
+ static
46
+ void * loadLibrary( const char * name )
47
+ /*************************************/
48
+ {
49
+ void * handle;
50
+ #if defined( _WIN32 )
51
+ handle = LoadLibrary( name );
52
+ #else
53
+ handle = dlopen( name, RTLD_LAZY );
54
+ #endif
55
+ return handle;
56
+ }
57
+
58
+ static
59
+ void unloadLibrary( void * handle )
60
+ /**********************************/
61
+ {
62
+ #if defined( _WIN32 )
63
+ FreeLibrary( handle );
64
+ #else
65
+ dlclose( handle );
66
+ #endif
67
+ }
68
+
69
+ static
70
+ void * findSymbol( void * dll_handle, char * name )
71
+ /**************************************************/
72
+ {
73
+ #if defined( _WIN32 )
74
+ return GetProcAddress( dll_handle, name );
75
+ #else
76
+ return dlsym( dll_handle, name );
77
+ #endif
78
+ }
79
+
80
+ #define LookupSymbolAndCheck( api, sym ) \
81
+ api->sym = (sym ## _func)findSymbol( api->dll_handle, #sym ); \
82
+ if( api->sym == NULL ) { \
83
+ unloadLibrary( api->dll_handle ); \
84
+ return 0; \
85
+ }
86
+
87
+ int sqlany_initialize_interface( SQLAnywhereInterface * api, const char * path )
88
+ /*******************************************************************************/
89
+ {
90
+ char * env;
91
+ memset( api, 0, sizeof(*api));
92
+
93
+ if( path != NULL ) {
94
+ api->dll_handle = loadLibrary( path );
95
+ if( api->dll_handle != NULL ) {
96
+ goto loaded;
97
+ }
98
+ }
99
+ env = getenv( "SQLANY_API_DLL" );
100
+ if( env != NULL ) {
101
+ api->dll_handle = loadLibrary( env );
102
+ if( api->dll_handle != NULL ) {
103
+ goto loaded;
104
+ }
105
+ }
106
+ api->dll_handle = loadLibrary( DEFAULT_LIBRARY_NAME );
107
+ if( api->dll_handle != NULL ) {
108
+ goto loaded;
109
+ }
110
+ return 0;
111
+
112
+ loaded:
113
+ LookupSymbolAndCheck( api, sqlany_init );
114
+ LookupSymbolAndCheck( api, sqlany_fini );
115
+ LookupSymbolAndCheck( api, sqlany_new_connection );
116
+ LookupSymbolAndCheck( api, sqlany_free_connection );
117
+ LookupSymbolAndCheck( api, sqlany_make_connection );
118
+ LookupSymbolAndCheck( api, sqlany_connect );
119
+ LookupSymbolAndCheck( api, sqlany_disconnect );
120
+ LookupSymbolAndCheck( api, sqlany_execute_immediate );
121
+ LookupSymbolAndCheck( api, sqlany_prepare );
122
+ LookupSymbolAndCheck( api, sqlany_free_stmt );
123
+ LookupSymbolAndCheck( api, sqlany_num_params );
124
+ LookupSymbolAndCheck( api, sqlany_describe_bind_param );
125
+ LookupSymbolAndCheck( api, sqlany_bind_param );
126
+ LookupSymbolAndCheck( api, sqlany_send_param_data );
127
+ LookupSymbolAndCheck( api, sqlany_reset );
128
+ LookupSymbolAndCheck( api, sqlany_get_bind_param_info );
129
+ LookupSymbolAndCheck( api, sqlany_execute );
130
+ LookupSymbolAndCheck( api, sqlany_execute_direct );
131
+ LookupSymbolAndCheck( api, sqlany_fetch_absolute );
132
+ LookupSymbolAndCheck( api, sqlany_fetch_next );
133
+ LookupSymbolAndCheck( api, sqlany_get_next_result );
134
+ LookupSymbolAndCheck( api, sqlany_affected_rows );
135
+ LookupSymbolAndCheck( api, sqlany_num_cols );
136
+ LookupSymbolAndCheck( api, sqlany_num_rows );
137
+ LookupSymbolAndCheck( api, sqlany_get_column );
138
+ LookupSymbolAndCheck( api, sqlany_get_data );
139
+ LookupSymbolAndCheck( api, sqlany_get_data_info );
140
+ LookupSymbolAndCheck( api, sqlany_get_column_info );
141
+ LookupSymbolAndCheck( api, sqlany_commit );
142
+ LookupSymbolAndCheck( api, sqlany_rollback );
143
+ LookupSymbolAndCheck( api, sqlany_client_version );
144
+ LookupSymbolAndCheck( api, sqlany_error );
145
+ LookupSymbolAndCheck( api, sqlany_sqlstate );
146
+ LookupSymbolAndCheck( api, sqlany_clear_error );
147
+ api->initialized = 1;
148
+ return 1;
149
+ }
150
+ #undef LookupSymbolAndCheck
151
+
152
+ void sqlany_finalize_interface( SQLAnywhereInterface * api )
153
+ /***********************************************************/
154
+ {
155
+ if( !api->initialized ) {
156
+ return;
157
+ }
158
+ unloadLibrary( api->dll_handle );
159
+ memset( api, 0, sizeof(*api));
160
+ }
161
+
162
+
data/ext/sacapidll.h ADDED
@@ -0,0 +1,253 @@
1
+ /* ====================================================
2
+ *
3
+ * Copyright 2008 iAnywhere Solutions, Inc.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ *
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ * While not a requirement of the license, if you do modify this file, we
19
+ * would appreciate hearing about it. Please email
20
+ * sqlany_interfaces@sybase.com
21
+ *
22
+ * ====================================================
23
+ */
24
+
25
+ #ifndef SACAPIDLL_H
26
+ #define SACAPIDLL_H
27
+
28
+ #include "sacapi.h"
29
+
30
+ /** \file sacapidll.h
31
+ * \brief Header file for stub that can dynamically load the main API DLL.
32
+ * The user will need to include sacapidll.h in their source files and compile in sacapidll.c
33
+ */
34
+
35
+
36
+ #if defined( __cplusplus )
37
+ extern "C" {
38
+ #endif
39
+ typedef sacapi_bool (*sqlany_init_func)( const char * app_name, sacapi_u32 api_version, sacapi_u32 * max_version );
40
+ typedef void (*sqlany_fini_func)();
41
+ typedef a_sqlany_connection * (*sqlany_new_connection_func)( );
42
+ typedef void (*sqlany_free_connection_func)( a_sqlany_connection *sqlany_conn );
43
+ typedef a_sqlany_connection * (*sqlany_make_connection_func)( void * arg );
44
+ typedef sacapi_bool (*sqlany_connect_func)( a_sqlany_connection * sqlany_conn, const char * str );
45
+ typedef sacapi_bool (*sqlany_disconnect_func)( a_sqlany_connection * sqlany_conn );
46
+ typedef sacapi_bool (*sqlany_execute_immediate_func)( a_sqlany_connection * sqlany_conn, const char * sql );
47
+ typedef a_sqlany_stmt * (*sqlany_prepare_func)( a_sqlany_connection * sqlany_conn, const char * sql_str );
48
+ typedef void (*sqlany_free_stmt_func)( a_sqlany_stmt * sqlany_stmt );
49
+ typedef sacapi_i32 (*sqlany_num_params_func)( a_sqlany_stmt * sqlany_stmt );
50
+ typedef sacapi_bool (*sqlany_describe_bind_param_func)( a_sqlany_stmt * sqlany_stmt, sacapi_u32 index, a_sqlany_bind_param * params );
51
+ typedef sacapi_bool (*sqlany_bind_param_func)( a_sqlany_stmt * sqlany_stmt, sacapi_u32 index, a_sqlany_bind_param * params );
52
+ typedef sacapi_bool (*sqlany_send_param_data_func)( a_sqlany_stmt * sqlany_stmt, sacapi_u32 index, char * buffer, size_t size );
53
+ typedef sacapi_bool (*sqlany_reset_func)( a_sqlany_stmt * sqlany_stmt );
54
+ typedef sacapi_bool (*sqlany_get_bind_param_info_func)( a_sqlany_stmt * sqlany_stmt, sacapi_u32 index, a_sqlany_bind_param_info * info );
55
+ typedef sacapi_bool (*sqlany_execute_func)( a_sqlany_stmt * sqlany_stmt );
56
+ typedef a_sqlany_stmt * (*sqlany_execute_direct_func)( a_sqlany_connection * sqlany_conn, const char * sql_str );
57
+ typedef sacapi_bool (*sqlany_fetch_absolute_func)( a_sqlany_stmt * sqlany_result, sacapi_i32 row_num );
58
+ typedef sacapi_bool (*sqlany_fetch_next_func)( a_sqlany_stmt * sqlany_stmt );
59
+ typedef sacapi_bool (*sqlany_get_next_result_func)( a_sqlany_stmt * sqlany_stmt );
60
+ typedef sacapi_i32 (*sqlany_affected_rows_func)( a_sqlany_stmt * sqlany_stmt );
61
+ typedef sacapi_i32 (*sqlany_num_cols_func)( a_sqlany_stmt * sqlany_stmt );
62
+ typedef sacapi_i32 (*sqlany_num_rows_func)( a_sqlany_stmt * sqlany_stmt );
63
+ typedef sacapi_bool (*sqlany_get_column_func)( a_sqlany_stmt * sqlany_stmt, sacapi_u32 col_index, a_sqlany_data_value * buffer );
64
+ typedef sacapi_i32 (*sqlany_get_data_func)( a_sqlany_stmt * sqlany_stmt, sacapi_u32 col_index, size_t offset, void * buffer, size_t size );
65
+ typedef sacapi_bool (*sqlany_get_data_info_func)( a_sqlany_stmt * sqlany_stmt, sacapi_u32 col_index, a_sqlany_data_info * buffer );
66
+ typedef sacapi_bool (*sqlany_get_column_info_func)( a_sqlany_stmt * sqlany_stmt, sacapi_u32 col_index, a_sqlany_column_info * buffer );
67
+ typedef sacapi_bool (*sqlany_commit_func)( a_sqlany_connection * sqlany_conn );
68
+ typedef sacapi_bool (*sqlany_rollback_func)( a_sqlany_connection * sqlany_conn );
69
+ typedef sacapi_bool (*sqlany_client_version_func)( char * buffer, size_t len );
70
+ typedef sacapi_i32 (*sqlany_error_func)( a_sqlany_connection * sqlany_conn, char * buffer, size_t size );
71
+ typedef size_t (*sqlany_sqlstate_func)( a_sqlany_connection * sqlany_conn, char * buffer, size_t size );
72
+ typedef void (*sqlany_clear_error_func)( a_sqlany_connection * sqlany_conn );
73
+
74
+ #if defined( __cplusplus )
75
+ }
76
+ #endif
77
+
78
+ #define function( x ) x ## _func x
79
+ /** An API interface structure.
80
+ * The user would need only one instance of this in their environment. When the
81
+ * instance is initialized, the DLL will be loaded and all the entry points will be looked up.
82
+ */
83
+ typedef struct SQLAnywhereInterface {
84
+ /** DLL handle.
85
+ */
86
+ void * dll_handle;
87
+
88
+ /** Flag to know if initialized or not.
89
+ */
90
+ int initialized;
91
+
92
+ /** Pointer to ::sqlany_init() function.
93
+ */
94
+ function( sqlany_init );
95
+
96
+ /** Pointer to ::sqlany_fini() function.
97
+ */
98
+ function( sqlany_fini );
99
+
100
+ /** Pointer to ::sqlany_new_connection() function.
101
+ */
102
+ function( sqlany_new_connection );
103
+
104
+ /** Pointer to ::sqlany_free_connection() function.
105
+ */
106
+ function( sqlany_free_connection );
107
+
108
+ /** Pointer to ::sqlany_make_connection() function.
109
+ */
110
+ function( sqlany_make_connection );
111
+
112
+ /** Pointer to ::sqlany_connect() function.
113
+ */
114
+ function( sqlany_connect );
115
+
116
+ /** Pointer to ::sqlany_disconnect() function.
117
+ */
118
+ function( sqlany_disconnect );
119
+
120
+ /** Pointer to ::sqlany_execute_immediate() function.
121
+ */
122
+ function( sqlany_execute_immediate );
123
+
124
+ /** Pointer to ::sqlany_prepare() function.
125
+ */
126
+ function( sqlany_prepare );
127
+
128
+ /** Pointer to ::sqlany_free_stmt() function.
129
+ */
130
+ function( sqlany_free_stmt );
131
+
132
+ /** Pointer to ::sqlany_num_params() function.
133
+ */
134
+ function( sqlany_num_params );
135
+
136
+ /** Pointer to ::sqlany_describe_bind_param() function.
137
+ */
138
+ function( sqlany_describe_bind_param );
139
+
140
+ /** Pointer to ::sqlany_bind_param() function.
141
+ */
142
+ function( sqlany_bind_param );
143
+
144
+ /** Pointer to ::sqlany_send_param_data() function.
145
+ */
146
+ function( sqlany_send_param_data );
147
+
148
+ /** Pointer to ::sqlany_reset() function.
149
+ */
150
+ function( sqlany_reset );
151
+
152
+ /** Pointer to ::sqlany_get_bind_param_info() function.
153
+ */
154
+ function( sqlany_get_bind_param_info );
155
+
156
+ /** Pointer to ::sqlany_execute() function.
157
+ */
158
+ function( sqlany_execute );
159
+
160
+ /** Pointer to ::sqlany_execute_direct() function.
161
+ */
162
+ function( sqlany_execute_direct );
163
+
164
+ /** Pointer to ::sqlany_fetch_absolute() function.
165
+ */
166
+ function( sqlany_fetch_absolute );
167
+
168
+ /** Pointer to ::sqlany_fetch_next() function.
169
+ */
170
+ function( sqlany_fetch_next );
171
+
172
+ /** Pointer to ::sqlany_get_next_result() function.
173
+ */
174
+ function( sqlany_get_next_result );
175
+
176
+ /** Pointer to ::sqlany_affected_rows() function.
177
+ */
178
+ function( sqlany_affected_rows );
179
+
180
+ /** Pointer to ::sqlany_num_cols() function.
181
+ */
182
+ function( sqlany_num_cols );
183
+
184
+ /** Pointer to ::sqlany_num_rows() function.
185
+ */
186
+ function( sqlany_num_rows );
187
+
188
+ /** Pointer to ::sqlany_get_column() function.
189
+ */
190
+ function( sqlany_get_column );
191
+
192
+ /** Pointer to ::sqlany_get_data() function.
193
+ */
194
+ function( sqlany_get_data );
195
+
196
+ /** Pointer to ::sqlany_get_data_info() function.
197
+ */
198
+ function( sqlany_get_data_info );
199
+
200
+ /** Pointer to ::sqlany_get_column_info() function.
201
+ */
202
+ function( sqlany_get_column_info );
203
+
204
+ /** Pointer to ::sqlany_commit() function.
205
+ */
206
+ function( sqlany_commit );
207
+
208
+ /** Pointer to ::sqlany_rollback() function.
209
+ */
210
+ function( sqlany_rollback );
211
+
212
+ /** Pointer to ::sqlany_client_version() function.
213
+ */
214
+ function( sqlany_client_version );
215
+
216
+ /** Pointer to ::sqlany_error() function.
217
+ */
218
+ function( sqlany_error );
219
+
220
+ /** Pointer to ::sqlany_sqlstate() function.
221
+ */
222
+ function( sqlany_sqlstate );
223
+
224
+ /** Pointer to ::sqlany_clear_error() function.
225
+ */
226
+ function( sqlany_clear_error );
227
+
228
+ } SQLAnywhereInterface;
229
+ #undef function
230
+
231
+ /** Initializes the SQLAnywhereInterface object and loads the DLL dynamically.
232
+ * This function attempts to load the SQL Anywhere C API DLL dynamically and looks up all
233
+ * the entry points of the DLL. The fields in the SQLAnywhereInterface structure will be
234
+ * populated to point to the corresponding functions in the DLL. If the optional path argument
235
+ * is NULL, the environment variable SQLANY_DLL_PATH will be checked. If the variable is set,
236
+ * the library will attempt to load the DLL specified by the environment variable. If that fails,
237
+ * the interface will attempt to load the DLL directly (this relies on the environment being
238
+ * setup correctly).
239
+ * \param api An API structure to initialize.
240
+ * \param optional_path_to_dll An optional argument that specifies a path to the DLL API to load.
241
+ * \return 1 on successful initialization, and 0 on failure.
242
+ */
243
+ int sqlany_initialize_interface( SQLAnywhereInterface * api, const char * optional_path_to_dll );
244
+
245
+ /** Finalize and free resources associated with the SQL Anywhere C API DLL.
246
+ * This function will unload the library and uninitialize the supplied SQLAnywhereInterface
247
+ * structure.
248
+ * \param api An initialized structure to finalize.
249
+ */
250
+
251
+ void sqlany_finalize_interface( SQLAnywhereInterface * api );
252
+
253
+ #endif
data/ext/sacapidll.o ADDED
Binary file
data/ext/sqlanywhere.c CHANGED
@@ -24,7 +24,7 @@
24
24
  #include "ruby.h"
25
25
  #include "sacapidll.h"
26
26
 
27
- const char* VERSION = "0.1.0";
27
+ const char* VERSION = "0.1.1";
28
28
 
29
29
  // Defining the Ruby Modules
30
30
  static VALUE mSQLAnywhere;
@@ -173,10 +173,10 @@ static VALUE C2RB(a_sqlany_data_value* value)
173
173
  * looks up all the entry points of the DLL.
174
174
  *
175
175
  * <b>Parameters</b>:
176
- * - <tt>VALUE api</tt> -- an API structure to initialize
176
+ * - <tt>VALUE api</tt> -- An API structure to initialize.
177
177
  *
178
178
  * <b>Returns</b>:
179
- * - <tt>result</tt>: <tt>1</tt> on successful initialization, <tt>0</tt> on failure
179
+ * - <tt>result</tt>: <tt>1</tt> on successful initialization, <tt>0</tt> on failure.
180
180
  *
181
181
  */
182
182
  static VALUE
@@ -198,13 +198,14 @@ static_API_sqlany_initialize_interface(VALUE module, VALUE api)
198
198
  *
199
199
  * Finalize and free resources associated with the SQL Anywhere C API DLL.
200
200
  *
201
- * This function will unload the library and uninitialize the supplied SQLAnywhereInterface structure.
201
+ * This function will unload the library and uninitialize the supplied
202
+ * SQLAnywhereInterface structure.
202
203
  *
203
204
  * <b>Parameters</b>:
204
- * - <tt>VALUE api</tt> -- an initialized API structure to finalize
205
+ * - <tt>VALUE api</tt> -- An initialized API structure to finalize.
205
206
  *
206
207
  * <b>Returns</b>:
207
- * - <tt>nil</tt>
208
+ * - <tt>nil</tt>.
208
209
  *
209
210
  */
210
211
  static VALUE
@@ -238,14 +239,14 @@ static_SQLAnywhereInterface_alloc(VALUE class)
238
239
  * call-seq:
239
240
  * sqlany_init(VALUE api) -> [VALUE result, VALUE version]
240
241
  *
241
- * Initialize the interface..
242
+ * Initializes the interface.
242
243
  *
243
244
  * <b>Parameters</b>:
244
- * - <tt>VALUE api</tt> -- an initialized API structure to finalize
245
+ * - <tt>VALUE api</tt> -- An initialized API structure to finalize.
245
246
  *
246
247
  * <b>Returns</b>:
247
- * - <tt>VALUE result</tt>: <tt>1</tt> on success, <tt>0</tt> on failure
248
- * - <tt>VALUE version</tt>: The maximum API version that is supported.
248
+ * - <tt>VALUE result</tt>: <tt>1</tt> on success, <tt>0</tt> on failure.
249
+ * - <tt>VALUE version</tt>: The maximum API version that is supported.
249
250
  *
250
251
  */
251
252
  static VALUE
@@ -278,15 +279,15 @@ static_SQLAnywhereInterface_sqlany_init(VALUE api)
278
279
  *
279
280
  * Creates a connection object.
280
281
  *
281
- * An API connection object needs to be created before a database connection is
282
- * established. Errors can be retrieved from the connection object. Only one
283
- * request can be processed on a connection at a time.
282
+ * An API connection object needs to be created before a database connection
283
+ * is established. Errors can be retrieved from the connection object. Only
284
+ * one request can be processed on a connection at a time.
284
285
  *
285
286
  * <b>Parameters</b>:
286
- * - <tt>VALUE api</tt> -- an initialized API structure to finalize
287
+ * - <tt>VALUE api</tt> -- An initialized API structure to finalize.
287
288
  *
288
289
  * <b>Returns</b>:
289
- * - <tt>VALUE connection</tt>: A connection object.
290
+ * - <tt>VALUE connection</tt>: A connection object.
290
291
  *
291
292
  */
292
293
  static VALUE
@@ -310,17 +311,17 @@ static_SQLAnywhereInterface_sqlany_new_connection(VALUE api)
310
311
  *
311
312
  * Creates a connection object.
312
313
  *
313
- * An API connection object needs to be created before a database connection is
314
- * established. Errors can be retrieved from the connection object. Only one
315
- * request can be processed on a connection at a time.
314
+ * An API connection object needs to be created before a database connection
315
+ * is established. Errors can be retrieved from the connection object. Only
316
+ * one request can be processed on a connection at a time.
316
317
  *
317
318
  * <b>Parameters</b>:
318
- * - <tt>VALUE api</tt> -- an initialized API structure to finalize
319
- * - <tt>VALUE sqlany_conn</tt> -- A connection object that was created by sqlany_new_connection()
320
- * - <tt>VALUE str</tt> -- A SQL Anywhere connection string
319
+ * - <tt>VALUE api</tt> -- An initialized API structure to finalize.
320
+ * - <tt>VALUE sqlany_conn</tt> -- A connection object that was created by sqlany_new_connection().
321
+ * - <tt>VALUE str</tt> -- A SQL Anywhere connection string.
321
322
  *
322
323
  * <b>Returns</b>:
323
- * - <tt>VALUE result</tt>: <tt>1</tt> on success, <tt>0</tt> on failure
324
+ * - <tt>VALUE result</tt>: <tt>1</tt> on success, <tt>0</tt> on failure.
324
325
  *
325
326
  */
326
327
  static VALUE
@@ -347,14 +348,15 @@ static_SQLAnywhereInterface_sqlany_connect(VALUE api, VALUE sqlany_conn, VALUE s
347
348
  *
348
349
  * Disconnect an already established connection.
349
350
  *
350
- * This function disconnects a SQL Anywhere connection. Any uncommited transactions will be rolled back.
351
+ * This function disconnects a SQL Anywhere connection. Any
352
+ * uncommitted transactions will be rolled back.
351
353
  *
352
354
  * <b>Parameters</b>:
353
- * - <tt>VALUE api</tt> -- an initialized API structure to finalize
354
- * - <tt>VALUE sqlany_conn</tt> -- A connection object that was connected by sqlany_connect()
355
+ * - <tt>VALUE api</tt> -- An initialized API structure to finalize.
356
+ * - <tt>VALUE sqlany_conn</tt> -- A connection object that was connected by sqlany_connect().
355
357
  *
356
358
  * <b>Returns</b>:
357
- * - <tt>nil</tt>
359
+ * - <tt>nil</tt>.
358
360
  *
359
361
  */
360
362
  static VALUE
@@ -379,11 +381,11 @@ static_SQLAnywhereInterface_sqlany_disconnect(VALUE api, VALUE sqlany_conn)
379
381
  * Frees the resources associated with a connection object.
380
382
  *
381
383
  * <b>Parameters</b>:
382
- * - <tt>VALUE api</tt> -- an initialized API structure to finalize
383
- * - <tt>VALUE sqlany_conn</tt> -- A connection object that was disconnected by sqlany_disconnect()
384
+ * - <tt>VALUE api</tt> -- An initialized API structure to finalize.
385
+ * - <tt>VALUE sqlany_conn</tt> -- A connection object that was disconnected by sqlany_disconnect().
384
386
  *
385
387
  * <b>Returns</b>:
386
- * - <tt>nil</tt>
388
+ * - <tt>nil</tt>.
387
389
  *
388
390
  */
389
391
  static VALUE
@@ -405,14 +407,15 @@ static_SQLAnywhereInterface_sqlany_free_connection(VALUE api, VALUE sqlany_conn)
405
407
  * call-seq:
406
408
  * sqlany_fini(VALUE api) -> nil
407
409
  *
408
- * Finalize the interface.
409
- * Frees any resources allocated by the API
410
+ * Finalizes the interface.
411
+ *
412
+ * Thus function frees any resources allocated by the API.
410
413
  *
411
414
  * <b>Parameters</b>:
412
- * - <tt>VALUE api</tt> -- an initialized API structure to finalize
415
+ * - <tt>VALUE api</tt> -- An initialized API structure to finalize.
413
416
  *
414
417
  * <b>Returns</b>:
415
- * - <tt>nil</tt>
418
+ * - <tt>nil</tt>.
416
419
  *
417
420
  */
418
421
  static VALUE
@@ -433,15 +436,16 @@ static_SQLAnywhereInterface_sqlany_fini(VALUE api)
433
436
  *
434
437
  * Retrieves the last error code and message.
435
438
  *
436
- * This function can be used to retrieve the last error code and message stored in the connection object.
439
+ * This function can be used to retrieve the last error code and message
440
+ * stored in the connection object.
437
441
  *
438
442
  * <b>Parameters</b>:
439
- * - <tt>VALUE api</tt> -- an initialized API structure to finalize
440
- * - <tt>VALUE sqlany_conn</tt> -- A connection object that was connected by sqlany_connect()
443
+ * - <tt>VALUE api</tt> -- An initialized API structure to finalize.
444
+ * - <tt>VALUE sqlany_conn</tt> -- A connection object that was connected by sqlany_connect().
441
445
  *
442
446
  * <b>Returns</b>:
443
447
  * - <tt>VALUE result</tt>: The last error code. Positive values are warnings, negative values are errors, and <tt>0</tt> is success.
444
- * - <tt>VALUE errstr</tt>: The error message corresponding to the error code
448
+ * - <tt>VALUE errstr</tt>: The error message corresponding to the error code.
445
449
  *
446
450
  */
447
451
 
@@ -472,18 +476,19 @@ static_SQLAnywhereInterface_sqlany_error(VALUE api, VALUE sqlany_conn)
472
476
  * call-seq:
473
477
  * sqlany_execute_immediate(VALUE api, VALUE sqlany_conn, VALUE sql) -> VALUE result
474
478
  *
475
- * Execute a SQL statement immediately without returning a result set.
479
+ * Executes a SQL statement immediately without returning a result set.
476
480
  *
477
- * Execute the specified SQL statement immediately. This function is useful for SQL statements that do not return a result set.
481
+ * This function executes the specified SQL statement immediately. It is
482
+ * useful for SQL statements that do not return a result set.
478
483
  *
479
484
  *
480
485
  * <b>Parameters</b>:
481
- * - <tt>VALUE api</tt> -- an initialized API structure to finalize
482
- * - <tt>VALUE sqlany_conn</tt> -- A connection object that was connected by sqlany_connect()
483
- * - <tt>VALUE sql</tt> -- A SQL query string
486
+ * - <tt>VALUE api</tt> -- An initialized API structure to finalize.
487
+ * - <tt>VALUE sqlany_conn</tt> -- A connection object that was connected by sqlany_connect().
488
+ * - <tt>VALUE sql</tt> -- A SQL query string.
484
489
  *
485
490
  * <b>Returns</b>:
486
- * - <tt>VALUE result</tt>: <tt>1</tt> on success, <tt>0</tt> on failure
491
+ * - <tt>VALUE result</tt>: <tt>1</tt> on success, <tt>0</tt> on failure.
487
492
  *
488
493
  */
489
494
  static VALUE
@@ -511,18 +516,20 @@ static_SQLAnywhereInterface_sqlany_execute_immediate(VALUE api, VALUE sqlany_con
511
516
  * Executes a SQL statement and possibly returns a result set.
512
517
  *
513
518
  * This function executes the SQL statement specified by the string argument.
514
- * This function is suitable if you want to prepare and then execute a statement, and can be
515
- * used instead of calling sqlany_prepare() followed by sqlany_execute().
519
+ * This function is suitable if you want to prepare and then execute a
520
+ * statement, and can be used instead of calling sqlany_prepare() followed
521
+ * by sqlany_execute().
516
522
  *
517
- * This function can not be used for executing a SQL statement with parameters.
523
+ * This function cannot be used for executing a SQL statement with
524
+ * parameters.
518
525
  *
519
526
  * <b>Parameters</b>:
520
- * - <tt>VALUE api</tt> -- an initialized API structure to finalize
521
- * - <tt>VALUE sqlany_conn</tt> -- A connection object that was connected by sqlany_connect()
522
- * - <tt>VALUE sql</tt> -- A SQL query string
527
+ * - <tt>VALUE api</tt> -- An initialized API structure to finalize.
528
+ * - <tt>VALUE sqlany_conn</tt> -- A connection object that was connected by sqlany_connect().
529
+ * - <tt>VALUE sql</tt> -- A SQL query string.
523
530
  *
524
531
  * <b>Returns</b>:
525
- * - <tt>VALUE result</tt>: A query result set if successful, nil if failed
532
+ * - <tt>VALUE result</tt>: A query result set if successful, nil if failed.
526
533
  *
527
534
  */
528
535
  static VALUE
@@ -557,11 +564,11 @@ static_SQLAnywhereInterface_sqlany_execute_direct(VALUE api, VALUE sqlany_conn,
557
564
  * call-seq:
558
565
  * sqlany_num_cols(VALUE api, VALUE sqlany_stmt) -> VALUE num_cols
559
566
  *
560
- * Returns number of columns in the result set
567
+ * Returns number of columns in the result set.
561
568
  *
562
569
  * <b>Parameters</b>:
563
- * - <tt>VALUE api</tt> -- an initialized API structure to finalize
564
- * - <tt>VALUE sqlany_stmt</tt> -- A statement object that was created by sqlany_prepare() or sqlany_execute_direct()
570
+ * - <tt>VALUE api</tt> -- An initialized API structure to finalize.
571
+ * - <tt>VALUE sqlany_stmt</tt> -- A statement object that was created by sqlany_prepare() or sqlany_execute_direct().
565
572
  *
566
573
  * <b>Returns</b>:
567
574
  * - <tt>VALUE num_cols</tt>: The number of columns in the result set or <tt>-1</tt> on a failure.
@@ -588,13 +595,13 @@ static_SQLAnywhereInterface_sqlany_num_cols(VALUE api, VALUE sqlany_stmt)
588
595
  *
589
596
  * Returns number of rows in the result set.
590
597
  *
591
- * By default this function only returns an estimate. To return an exact count,
592
- * users must set the ROW_COUNTS option on the connection.
593
- * Refer to SQL Anywhere documentation for the SQL syntax to set this option
598
+ * By default, this function only returns an estimate. To return an exact
599
+ * count, users must set the ROW_COUNTS option on the connection.
600
+ * Refer to SQL Anywhere documentation for the SQL syntax to set this option.
594
601
  *
595
602
  * <b>Parameters</b>:
596
- * - <tt>VALUE api</tt> -- an initialized API structure to finalize
597
- * - <tt>VALUE sqlany_stmt</tt> -- A statement object that was created by sqlany_prepare() or sqlany_execute_direct()
603
+ * - <tt>VALUE api</tt> -- An initialized API structure to finalize.
604
+ * - <tt>VALUE sqlany_stmt</tt> -- A statement object that was created by sqlany_prepare() or sqlany_execute_direct().
598
605
  *
599
606
  * <b>Returns</b>:
600
607
  * - <tt>VALUE num_rows</tt>: The number of rows in the result set or <tt>-1</tt> on a failure.
@@ -619,15 +626,15 @@ static_SQLAnywhereInterface_sqlany_num_rows(VALUE api, VALUE sqlany_stmt)
619
626
  * call-seq:
620
627
  * sqlany_get_column(VALUE api, VALUE sqlany_stmt, VALUE col_num) -> [VALUE result, VALUE column_value]
621
628
  *
622
- * Retrieve the data fetched for the specified column.
629
+ * Retrieves the data fetched for the specified column.
623
630
  *
624
631
  * <b>Parameters</b>:
625
- * - <tt>VALUE api</tt> -- an initialized API structure to finalize
626
- * - <tt>VALUE sqlany_stmt</tt> -- A statement object that was created by sqlany_prepare() or sqlany_execute_direct()
632
+ * - <tt>VALUE api</tt> -- An initialized API structure to finalize.
633
+ * - <tt>VALUE sqlany_stmt</tt> -- A statement object that was created by sqlany_prepare() or sqlany_execute_direct().
627
634
  * - <tt>VALUE col_num</tt> -- The number of the column to be retrieved. A column number is between 0 and sqlany_num_cols() - 1.
628
635
  *
629
636
  * <b>Returns</b>:
630
- * - <tt>VALUE column_value</tt>: The value of the column. nil is returned if the value was NULL
637
+ * - <tt>VALUE column_value</tt>: The value of the column. nil is returned if the value was NULL.
631
638
  *
632
639
  */
633
640
  static VALUE
@@ -671,17 +678,20 @@ static_SQLAnywhereInterface_sqlany_get_column(VALUE api, VALUE sqlany_stmt, VALU
671
678
  * call-seq:
672
679
  * sqlany_fetch_next(VALUE api, VALUE sqlany_stmt) -> VALUE result
673
680
  *
674
- * Fetch the next row from the result set.
675
- * This function fetches the next row from the result set. When the result object is first created,
676
- * the current row pointer is set to before the first row (i.e. row 0).
677
- * This function first advances the row pointer and then fetches the data at the new row.
681
+ * Fetches the next row from the result set.
682
+ *
683
+ * This function fetches the next row from the result set. When the result
684
+ * object is first created, the current row pointer is set to point before
685
+ * the first row (that is, row 0).
686
+ * This function advances the row pointer first and then fetches the data
687
+ * at the new row.
678
688
  *
679
689
  * <b>Parameters</b>:
680
- * - <tt>VALUE api</tt> -- an initialized API structure to finalize
681
- * - <tt>VALUE sqlany_stmt</tt> -- A statement object that was created by sqlany_prepare() or sqlany_execute_direct()
690
+ * - <tt>VALUE api</tt> -- An initialized API structure to finalize.
691
+ * - <tt>VALUE sqlany_stmt</tt> -- A statement object that was created by sqlany_prepare() or sqlany_execute_direct().
682
692
  *
683
693
  * <b>Returns</b>:
684
- * - <tt>VALUE result</tt>: <tt>1</tt> on successful fetch, <tt>0</tt> otherwise
694
+ * - <tt>VALUE result</tt>: <tt>1</tt> on successful fetch, <tt>0</tt> otherwise.
685
695
  *
686
696
  */
687
697
  static VALUE
@@ -703,26 +713,29 @@ static_SQLAnywhereInterface_sqlany_fetch_next(VALUE api, VALUE sqlany_stmt)
703
713
  * call-seq:
704
714
  * sqlany_get_column_info(VALUE api, VALUE sqlany_stmt, VALUE col_num) -> [VALUE result, VALUE col_num, VALUE name, VALUE type, VALUE max_size]
705
715
  *
706
- * Fetch the next row from the result set.
707
- * This function fetches the next row from the result set. When the result object is first created,
708
- * the current row pointer is set to before the first row (i.e. row 0).
709
- * This function first advances the row pointer and then fetches the data at the new row.
716
+ * Fetches the next row from the result set.
717
+ *
718
+ * This function fetches the next row from the result set. When the result
719
+ * object is first created, the current row pointer is set to point before
720
+ * the first row (that is, row 0).
721
+ * This function advances the row pointer first and then fetches the data
722
+ * at the new row.
710
723
  *
711
724
  * <b>Parameters</b>:
712
- * - <tt>VALUE api</tt> -- an initialized API structure to finalize
713
- * - <tt>VALUE sqlany_stmt</tt> -- A statement object that was created by sqlany_prepare() or sqlany_execute_direct()
725
+ * - <tt>VALUE api</tt> -- An initialized API structure to finalize.
726
+ * - <tt>VALUE sqlany_stmt</tt> -- A statement object that was created by sqlany_prepare() or sqlany_execute_direct().
714
727
  * - <tt>VALUE col_num</tt> -- The number of the column to be retrieved. A column number is between 0 and sqlany_num_cols() - 1.
715
728
  *
716
729
  * <b>Returns</b>:
717
730
  * - <tt>VALUE result</tt>: <tt>1</tt> on success. Returns <tt>0</tt> if the column index is out of range, or if the statement does not return a result set.
718
- * - <tt>VALUE col_num</tt>: The number of the column retrieved
719
- * - <tt>VALUE name</tt>: The name of the column
720
- * - <tt>VALUE type</tt>: The type of the column data
721
- * - <tt>VALUE native_type</tt>: The SQL Anywhere native type of the column data
722
- * - <tt>VALUE precision</tt>: The precision of the column
723
- * - <tt>VALUE scale</tt>: The scale of the column
724
- * - <tt>VALUE max_size</tt>: The maximum size a data value in this column can take
725
- * - <tt>VALUE nullable</tt>: The nullability of the column
731
+ * - <tt>VALUE col_num</tt>: The number of the column retrieved.
732
+ * - <tt>VALUE name</tt>: The name of the column.
733
+ * - <tt>VALUE type</tt>: The type of the column data.
734
+ * - <tt>VALUE native_type</tt>: The SQL Anywhere native type of the column data.
735
+ * - <tt>VALUE precision</tt>: The precision of the column.
736
+ * - <tt>VALUE scale</tt>: The scale of the column.
737
+ * - <tt>VALUE max_size</tt>: The maximum size a data value in this column can take.
738
+ * - <tt>VALUE nullable</tt>: The nullability of the column.
726
739
  *
727
740
  */
728
741
  static VALUE
@@ -759,14 +772,14 @@ static_SQLAnywhereInterface_sqlany_get_column_info(VALUE api, VALUE sqlany_stmt,
759
772
  * call-seq:
760
773
  * sqlany_commit(VALUE api, VALUE sqlany_conn) -> VALUE result
761
774
  *
762
- * Commit the current transaction.
775
+ * Commits the current transaction.
763
776
  *
764
777
  * <b>Parameters</b>:
765
- * - <tt>VALUE api</tt> -- an initialized API structure to finalize
766
- * - <tt>VALUE sqlany_conn</tt> -- A connection object that was connected by sqlany_connect()
778
+ * - <tt>VALUE api</tt> -- An initialized API structure to finalize.
779
+ * - <tt>VALUE sqlany_conn</tt> -- A connection object that was connected by sqlany_connect().
767
780
  *
768
781
  * <b>Returns</b>:
769
- * - <tt>VALUE result</tt>: <tt>1</tt> on successful commit, <tt>0</tt> otherwise
782
+ * - <tt>VALUE result</tt>: <tt>1</tt> on successful commit, <tt>0</tt> otherwise.
770
783
  *
771
784
  */
772
785
  static VALUE
@@ -789,14 +802,14 @@ static_SQLAnywhereInterface_sqlany_commit(VALUE api, VALUE sqlany_conn)
789
802
  * call-seq:
790
803
  * sqlany_rollback(VALUE api, VALUE sqlany_conn) -> VALUE result
791
804
  *
792
- * Rollback the current transaction.
805
+ * Rolls back the current transaction.
793
806
  *
794
807
  * <b>Parameters</b>:
795
- * - <tt>VALUE api</tt> -- an initialized API structure to finalize
796
- * - <tt>VALUE sqlany_conn</tt> -- A connection object that was connected by sqlany_connect()
808
+ * - <tt>VALUE api</tt> -- An initialized API structure to finalize.
809
+ * - <tt>VALUE sqlany_conn</tt> -- A connection object that was connected by sqlany_connect().
797
810
  *
798
811
  * <b>Returns</b>:
799
- * - <tt>VALUE result</tt>: <tt>1</tt> on successful rollback, <tt>0</tt> otherwise
812
+ * - <tt>VALUE result</tt>: <tt>1</tt> on successful rollback, <tt>0</tt> otherwise.
800
813
  *
801
814
  */
802
815
  static VALUE
@@ -818,16 +831,17 @@ static_SQLAnywhereInterface_sqlany_rollback(VALUE api, VALUE sqlany_conn)
818
831
  * call-seq:
819
832
  * sqlany_prepare(VALUE api, VALUE sqlany_conn, VALUE sql) -> VALUE stmt
820
833
  *
821
- * Prepare a SQL statement.
834
+ * Prepares a SQL statement.
822
835
  *
823
- * This function prepares the supplied SQL string. Execution does not happen until sqlany_execute()
824
- * is called. The returned statement object should be freed using sqlany_free_stmt().
836
+ * This function prepares the supplied SQL string. Execution does not
837
+ * happen until sqlany_execute() is called. The returned statement object
838
+ * should be freed using sqlany_free_stmt().
825
839
  *
826
840
  *
827
841
  * <b>Parameters</b>:
828
- * - <tt>VALUE api</tt> -- an initialized API structure to finalize
829
- * - <tt>VALUE sqlany_conn</tt> -- A connection object that was connected by sqlany_connect()
830
- * - <tt>VALUE sql</tt> -- SQL query to prepare
842
+ * - <tt>VALUE api</tt> -- An initialized API structure to finalize.
843
+ * - <tt>VALUE sqlany_conn</tt> -- A connection object that was connected by sqlany_connect().
844
+ * - <tt>VALUE sql</tt> -- SQL query to prepare.
831
845
  *
832
846
  * <b>Returns</b>:
833
847
  * - <tt>VALUE stmt</tt>: A statement object, or nil on failure. The statement object can be used by sqlany_execute() to execute the statement.
@@ -868,14 +882,15 @@ static_SQLAnywhereInterface_sqlany_prepare(VALUE api, VALUE sqlany_conn, VALUE s
868
882
  *
869
883
  * Frees resources associated with a prepared statement object.
870
884
  *
871
- * This function frees the resources associated with a prepared statement object.
885
+ * This function frees the resources associated with a prepared statement
886
+ * object.
872
887
  *
873
888
  * <b>Parameters</b>:
874
- * - <tt>VALUE api</tt> -- an initialized API structure to finalize
875
- * - <tt>VALUE sqlany_stmt</tt> -- A statement object that was created by sqlany_prepare() or sqlany_execute_direct()
889
+ * - <tt>VALUE api</tt> -- An initialized API structure to finalize.
890
+ * - <tt>VALUE sqlany_stmt</tt> -- A statement object that was created by sqlany_prepare() or sqlany_execute_direct().
876
891
  *
877
892
  * <b>Returns</b>:
878
- * - <tt>nil</tt>
893
+ * - <tt>nil</tt>.
879
894
  *
880
895
  */
881
896
  static VALUE
@@ -918,14 +933,14 @@ static_SQLAnywhereInterface_sqlany_free_stmt(VALUE api, VALUE sqlany_stmt)
918
933
  * call-seq:
919
934
  * sqlany_execute(VALUE api, VALUE sqlany_stmt) -> VALUE result
920
935
  *
921
- * This function executes a prepared statement.
936
+ * Executes a prepared statement.
922
937
  *
923
938
  * <b>Parameters</b>:
924
- * - <tt>VALUE api</tt> -- an initialized API structure to finalize
925
- * - <tt>VALUE sqlany_stmt</tt> -- A statement object that was created by sqlany_prepare() or sqlany_execute_direct()
939
+ * - <tt>VALUE api</tt> -- An initialized API structure to finalize.
940
+ * - <tt>VALUE sqlany_stmt</tt> -- A statement object that was created by sqlany_prepare() or sqlany_execute_direct().
926
941
  *
927
942
  * <b>Returns</b>:
928
- * - <tt>VALUE result</tt>: <tt>1</tt> on successful execution, <tt>0</tt> otherwise
943
+ * - <tt>VALUE result</tt>: <tt>1</tt> on successful execution, <tt>0</tt> otherwise.
929
944
  *
930
945
  */
931
946
  static VALUE
@@ -947,10 +962,11 @@ static_SQLAnywhereInterface_sqlany_execute(VALUE api, VALUE sqlany_stmt)
947
962
  * call-seq:
948
963
  * sqlany_affected_rows(VALUE api, VALUE sqlany_stmt) -> VALUE result
949
964
  *
950
- * Returns the number of rows affected by execution of the prepared statement.
965
+ * Returns the number of rows affected by execution of the prepared
966
+ * statement.
951
967
  *
952
968
  * <b>Parameters</b>:
953
- * - <tt>VALUE api</tt> -- an initialized API structure to finalize
969
+ * - <tt>VALUE api</tt> -- An initialized API structure to finalize.
954
970
  * - <tt>VALUE sqlany_stmt</tt> -- A statement that was prepared and executed successfully with no result set returned.
955
971
  *
956
972
  * <b>Returns</b>:
@@ -978,14 +994,16 @@ static_SQLAnywhereInterface_sqlany_affected_rows(VALUE api, VALUE sqlany_stmt)
978
994
  *
979
995
  * Describes the bind parameters of a prepared statement.
980
996
  *
981
- * This function allows the caller to determine information about parameters to a prepared statement.
982
- * Depending on the type of the prepared statement (call to stored procedured or a DML), only some information will be provided.
983
- * The information that will always be provided is the direction of the parameters (input, output, or input-output).
997
+ * This function allows the caller to determine information about parameters
998
+ * to a prepared statement. Depending on the type of the prepared statement
999
+ * (call to stored procedure or a DML), only some information will be
1000
+ * provided. The information that will always be provided is the direction
1001
+ * of the parameters (input, output, or input-output).
984
1002
  *
985
1003
  * <b>Parameters</b>:
986
- * - <tt>VALUE api</tt> -- an initialized API structure to finalize
1004
+ * - <tt>VALUE api</tt> -- An initialized API structure to finalize.
987
1005
  * - <tt>VALUE sqlany_stmt</tt> -- A statement object that was returned from sqlany_prepare().
988
- * - <tt>VALUE index</tt> -- The index of the parameter. This should be a number between 0 and sqlany_num_params()- 1
1006
+ * - <tt>VALUE index</tt> -- The index of the parameter. This should be a number between 0 and sqlany_num_params()- 1.
989
1007
  *
990
1008
  * <b>Returns</b>:
991
1009
  * - <tt>VALUE result</tt>: <tt>1</tt> on success or <tt>0</tt> on failure.
@@ -1028,13 +1046,13 @@ static_SQLAnywhereInterface_sqlany_describe_bind_param(VALUE api, VALUE sqlany_s
1028
1046
  * call-seq:
1029
1047
  * sqlany_bind_param(VALUE api, VALUE sqlany_stmt, VALUE index, VALUE sqlany_bind_param) -> VALUE result
1030
1048
  *
1031
- * Bind a user supplied buffer as a parameter to the prepared statement.
1049
+ * Binds a user supplied buffer as a parameter to the prepared statement.
1032
1050
  *
1033
1051
  * <b>Parameters</b>:
1034
- * - <tt>VALUE api</tt> -- an initialized API structure to finalize
1052
+ * - <tt>VALUE api</tt> -- An initialized API structure to finalize.
1035
1053
  * - <tt>VALUE sqlany_stmt</tt> -- A statement object that was returned from sqlany_prepare().
1036
- * - <tt>VALUE index</tt> -- The index of the parameter. This should be a number between 0 and sqlany_num_params() - 1
1037
- * - <tt>VALUE sqlany_bind_param</tt> -- A filled bind object retrieved from sqlany_describe_bind_param()
1054
+ * - <tt>VALUE index</tt> -- The index of the parameter. This should be a number between 0 and sqlany_num_params() - 1.
1055
+ * - <tt>VALUE sqlany_bind_param</tt> -- A filled bind object retrieved from sqlany_describe_bind_param().
1038
1056
  *
1039
1057
  * <b>Returns</b>:
1040
1058
  * - <tt>VALUE result</tt>: <tt>1</tt> on success or <tt>0</tt> on failure.
@@ -1063,14 +1081,15 @@ static_SQLAnywhereInterface_sqlany_bind_param(VALUE api, VALUE sqlany_stmt, VALU
1063
1081
  * call-seq:
1064
1082
  * sqlany_get_bind_param_info(VALUE api, VALUE sqlany_stmt, VALUE index) -> [VALUE result, VALUE bind_param]
1065
1083
  *
1066
- * Get bound parameter info.
1084
+ * Gets bound parameter info.
1067
1085
  *
1068
- * This function retrieves information about the parameters that were bound using sqlany_bind_param().
1086
+ * This function retrieves information about the parameters that were
1087
+ * bound using sqlany_bind_param().
1069
1088
  *
1070
1089
  * <b>Parameters</b>:
1071
- * - <tt>VALUE api</tt> -- an initialized API structure to finalize
1090
+ * - <tt>VALUE api</tt> -- An initialized API structure to finalize.
1072
1091
  * - <tt>VALUE sqlany_stmt</tt> -- A statement object that was returned from sqlany_prepare().
1073
- * - <tt>VALUE index</tt> -- The index of the parameter. This should be a number between 0 and sqlany_num_params() - 1
1092
+ * - <tt>VALUE index</tt> -- The index of the parameter. This should be a number between 0 and sqlany_num_params() - 1.
1074
1093
  *
1075
1094
  * <b>Returns</b>:
1076
1095
  * - <tt>VALUE result</tt>: <tt>1</tt> on success or <tt>0</tt> on failure.
@@ -1110,12 +1129,14 @@ static_SQLAnywhereInterface_sqlany_get_bind_param_info(VALUE api, VALUE sqlany_s
1110
1129
  * call-seq:
1111
1130
  * sqlany_num_params(VALUE api, VALUE sqlany_stmt) -> VALUE result
1112
1131
  *
1113
- * Returns the number of parameters that are expected for a prepared statement.
1132
+ * Returns the number of parameters that are expected for a prepared
1133
+ * statement.
1114
1134
  *
1115
- * This function retrieves information about the parameters that were bound using sqlany_bind_param().
1135
+ * This function retrieves information about the parameters that were bound
1136
+ * using sqlany_bind_param().
1116
1137
  *
1117
1138
  * <b>Parameters</b>:
1118
- * - <tt>VALUE api</tt> -- an initialized API structure to finalize
1139
+ * - <tt>VALUE api</tt> -- An initialized API structure to finalize.
1119
1140
  * - <tt>VALUE sqlany_stmt</tt> -- A statement object that was returned from sqlany_prepare().
1120
1141
  *
1121
1142
  * <b>Returns</b>:
@@ -1141,18 +1162,18 @@ static_SQLAnywhereInterface_sqlany_num_params(VALUE api, VALUE sqlany_stmt)
1141
1162
  * call-seq:
1142
1163
  * sqlany_get_next_result(VALUE api, VALUE sqlany_stmt) -> VALUE result
1143
1164
  *
1144
- * Advance to the next result set in a multiple result set query.
1165
+ * Advances to the next result set in a multiple result set query.
1145
1166
  *
1146
- * If a query (such as a call to a stored procedure) returns multiple result sets,
1147
- * then this function advances from the current result set to the next.
1167
+ * If a query (such as a call to a stored procedure) returns multiple result
1168
+ * sets, then this function advances from the current result set to the next.
1148
1169
  *
1149
1170
  *
1150
1171
  * <b>Parameters</b>:
1151
- * - <tt>VALUE api</tt> -- an initialized API structure to finalize
1152
- * - <tt>VALUE sqlany_stmt</tt> -- A statement object that was executed by sqlany_execute() or sqlany_execute_direct()
1172
+ * - <tt>VALUE api</tt> -- An initialized API structure to finalize.
1173
+ * - <tt>VALUE sqlany_stmt</tt> -- A statement object that was executed by sqlany_execute() or sqlany_execute_direct().
1153
1174
  *
1154
1175
  * <b>Returns</b>:
1155
- * - <tt>VALUE result</tt>: <tt>1</tt> if was successfully able to advance to the next result set, <tt>0</tt> otherwise
1176
+ * - <tt>VALUE result</tt>: <tt>1</tt> if was successfully able to advance to the next result set, <tt>0</tt> otherwise.
1156
1177
  *
1157
1178
  */
1158
1179
  static VALUE
@@ -1174,17 +1195,18 @@ static_SQLAnywhereInterface_sqlany_get_next_result(VALUE api, VALUE sqlany_stmt)
1174
1195
  * call-seq:
1175
1196
  * sqlany_fetch_absolute(VALUE api, VALUE sqlany_stmt, VALUE offset) -> VALUE result
1176
1197
  *
1177
- * Fetch data at a specific row number in the result set.
1198
+ * Fetches data at a specific row number in the result set.
1178
1199
  *
1179
- * This function moves the current row in the result set to the row number specified and fetches the data at that row.
1200
+ * This function moves the current row in the result set to the row number
1201
+ * specified and fetches the data at that row.
1180
1202
  *
1181
1203
  * <b>Parameters</b>:
1182
- * - <tt>VALUE api</tt> -- an initialized API structure to finalize
1183
- * - <tt>VALUE sqlany_stmt</tt> -- A statement object that was executed by sqlany_execute() or sqlany_execute_direct()
1184
- * - <tt>VALUE offset</tt> -- he row number to be fetched. The first row is <tt>1</tt>, the last row is <tt>-1</tt>.
1204
+ * - <tt>VALUE api</tt> -- An initialized API structure to finalize.
1205
+ * - <tt>VALUE sqlany_stmt</tt> -- A statement object that was executed by sqlany_execute() or sqlany_execute_direct().
1206
+ * - <tt>VALUE offset</tt> -- The row number to be fetched. The first row is <tt>1</tt>, the last row is <tt>-1</tt>.
1185
1207
  *
1186
1208
  * <b>Returns</b>:
1187
- * - <tt>VALUE result</tt>: <tt>1</tt> if the fetch was successfully, <tt>0</tt> otherwise
1209
+ * - <tt>VALUE result</tt>: <tt>1</tt> if the fetch was successfully, <tt>0</tt> otherwise.
1188
1210
  *
1189
1211
  */
1190
1212
  static VALUE
@@ -1207,14 +1229,14 @@ static_SQLAnywhereInterface_sqlany_fetch_absolute(VALUE api, VALUE sqlany_stmt,
1207
1229
  * call-seq:
1208
1230
  * sqlany_sqlstate(VALUE api, VALUE sqlany_conn) -> VALUE sqlstate_str
1209
1231
  *
1210
- * Retrieve the current SQL state.
1232
+ * Retrieves the current SQL state.
1211
1233
  *
1212
1234
  * <b>Parameters</b>:
1213
- * - <tt>VALUE api</tt> -- an initialized API structure to finalize
1214
- * - <tt>VALUE sqlany_conn</tt> -- A connection object that was connected by sqlany_connect()
1235
+ * - <tt>VALUE api</tt> -- An initialized API structure to finalize.
1236
+ * - <tt>VALUE sqlany_conn</tt> -- A connection object that was connected by sqlany_connect().
1215
1237
  *
1216
1238
  * <b>Returns</b>:
1217
- * - <tt>VALUE sqlstate_str</tt>: The SQL State
1239
+ * - <tt>VALUE sqlstate_str</tt>: The SQL State.
1218
1240
  *
1219
1241
  */
1220
1242
  static VALUE
@@ -1240,11 +1262,11 @@ static_SQLAnywhereInterface_sqlany_sqlstate(VALUE api, VALUE sqlany_conn)
1240
1262
  * Clears the last stored error code.
1241
1263
  *
1242
1264
  * <b>Parameters</b>:
1243
- * - <tt>VALUE api</tt> -- an initialized API structure to finalize
1244
- * - <tt>VALUE sqlany_conn</tt> -- A connection object that was connected by sqlany_connect()
1265
+ * - <tt>VALUE api</tt> -- An initialized API structure to finalize.
1266
+ * - <tt>VALUE sqlany_conn</tt> -- A connection object that was connected by sqlany_connect().
1245
1267
  *
1246
1268
  * <b>Returns</b>:
1247
- * - <tt>nil</tt>:
1269
+ * - <tt>nil</tt>:.
1248
1270
  *
1249
1271
  */
1250
1272
  static VALUE
@@ -1265,13 +1287,13 @@ static_SQLAnywhereInterface_sqlany_clear_error(VALUE api, VALUE sqlany_conn)
1265
1287
  * call-seq:
1266
1288
  * get_name(VALUE bind) -> VALUE name
1267
1289
  *
1268
- * Get name of the bound paramater.
1290
+ * Gets the name of the bound parameter.
1269
1291
  *
1270
1292
  * <b>Parameters</b>:
1271
- * - <tt>VALUE bind</tt> -- Bound parameter retrieved from sqlany_describe_bind_param()
1293
+ * - <tt>VALUE bind</tt> -- Bound parameter retrieved from sqlany_describe_bind_param().
1272
1294
  *
1273
1295
  * <b>Returns</b>:
1274
- * - <tt>VALUE name</tt>: The bound variable's name
1296
+ * - <tt>VALUE name</tt>: The bound variable's name.
1275
1297
  *
1276
1298
  */
1277
1299
  static VALUE
@@ -1286,11 +1308,11 @@ static_Bind_get_name(VALUE bind)
1286
1308
  * call-seq:
1287
1309
  * set_value(VALUE bind, VALUE val) -> nil
1288
1310
  *
1289
- * Set the value of a bind parameter.
1311
+ * Sets the value of a bind parameter.
1290
1312
  *
1291
- * Used to bind a Ruby VALUE to a give parameter in a prepared statement
1292
- * If the bind_direction is INPUT only, the type INPUT will be bound
1293
- * based on the RUBY type:
1313
+ * This function is used to bind a Ruby VALUE to a given parameter in a
1314
+ * prepared statement. If the bind_direction is INPUT only, the type INPUT
1315
+ * will be bound based on the RUBY type:
1294
1316
  *
1295
1317
  * +-------------+------------+
1296
1318
  * | Ruby Type | Bind Type |
@@ -1303,17 +1325,18 @@ static_Bind_get_name(VALUE bind)
1303
1325
  * | T_NIL => isnull = 1 |
1304
1326
  * +--------------------------+
1305
1327
  *
1306
- * If the bind direction is output, instead use DBCAPI type to set the size of the buffer
1328
+ * If the bind direction is OUTPUT, instead use the DBCAPI type to set the
1329
+ * size of the buffer.
1307
1330
  *
1308
- * In the case of INOUT parameters, it is the applications job to call this method twice,
1309
- * once to bind the INPUT, once to bind the OUTPUT
1331
+ * In the case of INOUT parameters, it is the application's job to call this
1332
+ * method twice, once to bind the INPUT, and once to bind the OUTPUT.
1310
1333
  *
1311
1334
  * <b>Parameters</b>:
1312
- * - <tt>VALUE bind</tt> -- Bound parameter retrieved from sqlany_describe_bind_param()
1313
- * - <tt>VALUE val</tt> -- The value to bind into the bound variable
1335
+ * - <tt>VALUE bind</tt> -- Bound parameter retrieved from sqlany_describe_bind_param().
1336
+ * - <tt>VALUE val</tt> -- The value to bind into the bound variable.
1314
1337
  *
1315
1338
  * <b>Returns</b>:
1316
- * - <tt>nil</tt>
1339
+ * - <tt>nil</tt>.
1317
1340
  */
1318
1341
  static VALUE
1319
1342
  static_Bind_set_value(VALUE bind, VALUE val)
@@ -1402,14 +1425,14 @@ static_Bind_set_value(VALUE bind, VALUE val)
1402
1425
  * call-seq:
1403
1426
  * set_direction(VALUE bind, VALUE direction) -> nil
1404
1427
  *
1405
- * Set the direction of the bound parameter before binding
1428
+ * Sets the direction of the bound parameter before binding.
1406
1429
  *
1407
1430
  * <b>Parameters</b>:
1408
- * - <tt>VALUE bind</tt> -- Bound parameter retrieved from sqlany_describe_bind_param()
1409
- * - <tt>VALUE direction</tt> -- The direction of the binding variable
1431
+ * - <tt>VALUE bind</tt> -- Bound parameter retrieved from sqlany_describe_bind_param().
1432
+ * - <tt>VALUE direction</tt> -- The direction of the binding variable.
1410
1433
  *
1411
1434
  * <b>Returns</b>:
1412
- * - <tt>nil</tt>
1435
+ * - <tt>nil</tt>.
1413
1436
  *
1414
1437
  */
1415
1438
  static VALUE
@@ -1428,14 +1451,15 @@ static_Bind_set_direction(VALUE bind, VALUE direction)
1428
1451
  * call-seq:
1429
1452
  * set_buffer_size(VALUE bind, VALUE size) -> nil
1430
1453
  *
1431
- * For strings and binary, set the buffer size of INOUT and OUT parameters
1454
+ * Sets the buffer size of INOUT and OUT parameters for string and binary
1455
+ * data.
1432
1456
  *
1433
1457
  * <b>Parameters</b>:
1434
- * - <tt>VALUE bind</tt> -- Bound parameter retrieved from sqlany_describe_bind_param()
1435
- * - <tt>VALUE size</tt> -- The size of the buffer to hold the INOUT or OUT parameter
1458
+ * - <tt>VALUE bind</tt> -- Bound parameter retrieved from sqlany_describe_bind_param().
1459
+ * - <tt>VALUE size</tt> -- The size of the buffer to hold the INOUT or OUT parameter.
1436
1460
  *
1437
1461
  * <b>Returns</b>:
1438
- * - <tt>nil</tt>
1462
+ * - <tt>nil</tt>.
1439
1463
  *
1440
1464
  */
1441
1465
  static VALUE
@@ -1454,13 +1478,13 @@ static_Bind_set_buffer_size(VALUE bind, VALUE size)
1454
1478
  * call-seq:
1455
1479
  * get_direction(VALUE bind) -> VALUE direction
1456
1480
  *
1457
- * Get direction of the bound paramater.
1481
+ * Gets the direction of the bound parameter.
1458
1482
  *
1459
1483
  * <b>Parameters</b>:
1460
- * - <tt>VALUE bind</tt> -- Bound parameter retrieved from sqlany_describe_bind_param()
1484
+ * - <tt>VALUE bind</tt> -- Bound parameter retrieved from sqlany_describe_bind_param().
1461
1485
  *
1462
1486
  * <b>Returns</b>:
1463
- * - <tt>VALUE name</tt>: The direction of the bound parameter
1487
+ * - <tt>VALUE name</tt>: The direction of the bound parameter.
1464
1488
  *
1465
1489
  */
1466
1490
  static VALUE
@@ -1476,13 +1500,13 @@ static_Bind_get_direction(VALUE bind)
1476
1500
  * call-seq:
1477
1501
  * finish(VALUE bind) -> nil
1478
1502
  *
1479
- * Free resources associated with the bound parameter
1503
+ * Frees the resources associated with the bound parameter.
1480
1504
  *
1481
1505
  * <b>Parameters</b>:
1482
- * - <tt>VALUE bind</tt> -- Bound parameter retrieved from sqlany_describe_bind_param()
1506
+ * - <tt>VALUE bind</tt> -- Bound parameter retrieved from sqlany_describe_bind_param().
1483
1507
  *
1484
1508
  * <b>Returns</b>:
1485
- * - <tt>nil</tt>
1509
+ * - <tt>nil</tt>.
1486
1510
  *
1487
1511
  */
1488
1512
  static VALUE
@@ -1502,13 +1526,13 @@ static_Bind_finish(VALUE bind)
1502
1526
  * call-seq:
1503
1527
  * get_info_direction(VALUE bind) -> VALUE direction
1504
1528
  *
1505
- * Get name of the bound paramater info object.
1529
+ * Gets the name of the bound parameter info object.
1506
1530
  *
1507
1531
  * <b>Parameters</b>:
1508
- * - <tt>VALUE bind</tt> -- Bound parameter info retrieved from sqlany_describe_bind_param_info()
1532
+ * - <tt>VALUE bind</tt> -- Bound parameter info retrieved from sqlany_describe_bind_param_info().
1509
1533
  *
1510
1534
  * <b>Returns</b>:
1511
- * - <tt>VALUE direction</tt>: The bound variable's direction
1535
+ * - <tt>VALUE direction</tt>: The bound variable's direction.
1512
1536
  *
1513
1537
  */
1514
1538
  static VALUE
@@ -1524,13 +1548,13 @@ static_Bind_get_info_direction(VALUE bind)
1524
1548
  * call-seq:
1525
1549
  * get_info_output(VALUE bind) -> VALUE name
1526
1550
  *
1527
- * Get the value of a bound parameter after execution
1551
+ * Gets the value of a bound parameter after execution.
1528
1552
  *
1529
1553
  * <b>Parameters</b>:
1530
- * - <tt>VALUE bind</tt> -- Bound parameter retrieved from sqlany_describe_bind_param()
1554
+ * - <tt>VALUE bind</tt> -- Bound parameter retrieved from sqlany_describe_bind_param().
1531
1555
  *
1532
1556
  * <b>Returns</b>:
1533
- * - <tt>VALUE name</tt>: The bound variable value
1557
+ * - <tt>VALUE name</tt>: The bound variable value.
1534
1558
  *
1535
1559
  */
1536
1560
  static VALUE
@@ -1616,7 +1640,7 @@ void Init_sqlanywhere()
1616
1640
  rb_define_method(cA_sqlany_bind_param, "set_buffer_size", static_Bind_set_buffer_size, 1);
1617
1641
  rb_define_method(cA_sqlany_bind_param, "finish", static_Bind_finish, 0);
1618
1642
 
1619
- // Define methods for obtainting bind_paramenter_info fields
1643
+ // Define methods for obtaining bind_parameter_info fields
1620
1644
  rb_define_method(cA_sqlany_bind_param_info, "get_direction", static_Bind_get_info_direction, 0);
1621
1645
  rb_define_method(cA_sqlany_bind_param_info, "get_output", static_Bind_get_info_output, 0);
1622
1646
  }