全て クラス 名前空間 関数 変数 型定義 列挙型 列挙値 フレンド ページ
tdapcapi.h
1 #ifndef BZS_DB_PROTOCOL_TDAP_TDAPCAPI_H
2 #define BZS_DB_PROTOCOL_TDAP_TDAPCAPI_H
3 /* =================================================================
4  Copyright (C) 2012 2013 BizStation Corp All rights reserved.
5 
6  This program is free software; you can redistribute it and/or
7  modify it under the terms of the GNU General Public License
8  as published by the Free Software Foundation; either version 2
9  of the License, or (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program; if not, write to the Free Software
18  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
19  02111-1307, USA.
20  ================================================================= */
21 #include <bzs/env/compiler.h>
22 #include <tchar.h>
23 
24 /** data types
25  */
26 typedef unsigned int uint_td;
27 typedef unsigned short ushort_td;
28 typedef void void_td;
29 typedef short short_td;
30 typedef unsigned char uchar_td;
31 typedef char char_td;
32 typedef int percentage_td;
33 typedef ushort_td keylen_td;
34 
35 /* Wnen change MAX_BOOKMARK_SIZE, database.h REF_SIZE_MAX too */
36 #define MAX_BOOKMARK_SIZE 112 // innodb unique key max 767 byte
37 struct BOOKMARK
38 {
39  uchar_td val[MAX_BOOKMARK_SIZE];
40  bool empty;
41  BOOKMARK():empty(true){}
42  bool isEmpty()
43  {
44  return empty;
45  }
46 };
47 typedef BOOKMARK bookmark_td;
48 
49 /** tdap c interface
50  */
51 #if (defined(__BORLANDC__) && !defined(__clang__))
52 typedef short __stdcall (*dllUnloadCallback)();
53 #else
54 /** @cond INTERNAL */
55 /** Callback function on a record was deleted. */
56 typedef short(__STDCALL* dllUnloadCallback)();
57 /** @endcond */
58 #endif
59 
60 #ifdef LIB_TDCLCPP
61 extern __declspec(dllimport) short_td
62  __stdcall BTRCALLID(ushort_td op, void* posb, void* data, uint_td* datalen,
63  void* keybuf, keylen_td keylen, char_td keyNum,
64  uchar_td* clientID);
65 
66 extern __declspec(dllimport) short_td
67  __stdcall CallbackRegist(dllUnloadCallback func);
68 #endif
69 
70 typedef short_td(__STDCALL* BTRCALLID_PTR)(ushort_td, void*, void*, uint_td*,
71  void*, keylen_td, char_td,
72  uchar_td*);
73 
74 typedef void(__STDCALL* WIN_TPOOL_SHUTDOWN_PTR)();
75 
76 /** buffer size
77  */
78 #define POS_BLOCK_SIZE 128
79 #define BTRV_BOOKMARK_SIZE 4
80 #ifndef MAX_KEYLEN
81 #define MAX_KEYLEN 0X3FF // 1023
82 #endif
83 #define BTRV_MAX_DATA_SIZE 57000
84 #define TDAP_MAX_DATA_SIZE 6291456 // 6Mbyte
85 #define BOOKMARK_ALLOC_SIZE 40960
86 
87 /** operation type
88  *
89  */
90 #define TD_OPENTABLE 0
91 #define TD_CLOSETABLE 1
92 #define TD_REC_INSERT 2
93 #define TD_REC_UPDATE 3
94 #define TD_REC_DELETE 4
95 #define TD_KEY_SEEK 5
96 #define TD_KEY_NEXT 6
97 #define TD_KEY_PREV 7
98 #define TD_KEY_AFTER 8
99 #define TD_KEY_OR_AFTER 9
100 #define TD_KEY_BEFORE 10
101 #define TD_KEY_OR_BEFORE 11
102 #define TD_KEY_FIRST 12
103 #define TD_KEY_LAST 13
104 #define TD_CREATETABLE 14
105 #define TD_TABLE_INFO 15
106 #define TD_SETDIRECTORY 17
107 #define TD_GETDIRECTORY 18
108 #define TD_BEGIN_TRANSACTION 19
109 #define TD_END_TRANSACTION 20
110 #define TD_ABORT_TRANSACTION 21
111 #define TD_BOOKMARK 22
112 #define TD_MOVE_BOOKMARK 23
113 #define TD_POS_NEXT 24
114 #define TD_STOP_ENGINE 25
115 #define TD_VERSION 26
116 #define TD_UNLOCK 27
117 #define TD_RESET_CLIENT 28
118 #define TD_SET_OWNERNAME 29
119 #define TD_CLEAR_OWNERNAME 30
120 #define TD_BUILD_INDEX 31
121 #define TD_DROP_INDEX 32
122 #define TD_POS_FIRST 33
123 #define TD_POS_LAST 34
124 #define TD_POS_PREV 35
125 #define TD_KEY_NEXT_MULTI 36
126 #define TD_KEY_PREV_MULTI 37
127 #define TD_POS_NEXT_MULTI 38
128 #define TD_POS_PREV_MULTI 39
129 #define TD_INSERT_BULK 40
130 #define TD_BACKUPMODE 42
131 #define TD_MOVE_PER 44
132 #define TD_GET_PER 45
133 #define TD_UPDATE_PART 53
134 #define TD_KEY_EQUAL_KO 55
135 #define TD_KEY_NEXT_KO 56
136 #define TD_KEY_PREV_KO 57
137 #define TD_KEY_GT_KO 58
138 #define TD_KEY_GE_KO 59
139 #define TD_KEY_LT_KO 60
140 #define TD_KEY_LE_KO 61
141 #define TD_KEY_FIRST_KO 62
142 #define TD_KEY_LAST_KO 63
143 #define TD_CREATE_TEMP 64
144 #define TD_TABLE_INFO_EX 65
145 #define TD_REC_UPDATEATKEY 70
146 #define TD_REC_DELLETEATKEY 71
147 #define TD_KEY_GE_NEXT_MULTI 72
148 #define TD_KEY_LE_PREV_MULTI 73
149 #define TD_FILTER_PREPARE 74
150 #define TD_CONNECT 78
151 #define TD_BEGIN_SHAPSHOT 88
152 #define TD_END_SNAPSHOT 89
153 #define TD_AUTOMEKE_SCHEMA 90
154 #define TD_GETSERVER_CHARSET 91
155 #define TD_ADD_SENDBLOB 92
156 #define TD_GET_BLOB_BUF 93
157 #define TD_STASTISTICS 94
158 #define TD_KEY_SEEK_MULTI 95
159 #define TD_ACL_RELOAD 96
160 #define TD_RECONNECT 97
161 
162 /** create sub operations
163  */
164 #define CR_SUBOP_DROP -128
165 #define CR_SUBOP_RENAME -127
166 #define CR_SUBOP_SWAPNAME -126
167 #define CR_SUBOP_BY_FILESPEC -1
168 #define CR_SUBOP_BY_FILESPEC_NOCKECK 0
169 #define CR_SUBOP_BY_TABLEDEF 1
170 #define CR_SUBOP_BY_TABLEDEF_NOCKECK 2
171 
172 #define CR_SUB_FLAG_EXISTCHECK -1
173 
174 /** TD_ADD_SENDBLOB sub operations
175  */
176 #define TD_ASBLOB_ENDROW -125
177 
178 /** TD_GET_STASTISTICS sub operations
179  */
180 #define TD_STSTCS_READ 0
181 #define TD_STSTCS_DISCONNECT_ONE 1
182 #define TD_STSTCS_DISCONNECT_ALL 2
183 #define TD_STSTCS_DATABASE_LIST 3
184 #define TD_STSTCS_SYSTEM_VARIABLES 4
185 #define TD_STSTCS_SCHEMA_TABLE_LIST 5
186 /** connect sub operation
187  */
188 
189 #define LG_SUBOP_CONNECT 0
190 #define LG_SUBOP_DISCONNECT 1
191 #define LG_SUBOP_NEWCONNECT 3
192 #define LG_SUBOP_RECONNECT 4
193 #define LG_SUBOP_DISCONNECT_EX 5 //for reconnect test
194 /** field types
195  */
196 #define ft_string 0
197 #define ft_integer 1
198 #define ft_float 2
199 #define ft_date 3
200 #define ft_time 4
201 #define ft_decimal 5
202 #define ft_money 6
203 #define ft_logical 7
204 #define ft_numeric 8
205 #define ft_bfloat 9
206 #define ft_lstring 10
207 #define ft_zstring 11
208 #define ft_note 12
209 #define ft_lvar 13
210 #define ft_uinteger 14
211 #define ft_autoinc 15
212 #define ft_bit 16
213 #define ft_numericsts 17
214 #define ft_numericsa 18
215 #define ft_currency 19
216 #define ft_timestamp 20
217 #define ft_blob 21
218 #define ft_reserve22 22
219 #define ft_reserve23 23
220 #define ft_reserve24 24
221 #define ft_wstring 25
222 #define ft_wzstring 26
223 #define ft_guid 27
224 #define ft_datetime 30
225 #define ft_myvarchar 40
226 #define ft_myvarbinary 41
227 #define ft_mywvarchar 42
228 #define ft_mywvarbinary 43
229 #define ft_mychar 44
230 #define ft_mywchar 45
231 #define ft_mydate 46
232 #define ft_mytime 47
233 #define ft_mydatetime 48
234 #define ft_mytimestamp 49
235 #define ft_mytext 50
236 #define ft_myblob 51
237 #define ft_autoIncUnsigned 52
238 #define ft_myfixedbinary 53
239 
240 #define ft_nullindicator 255
241 
242 /** charset type number
243  */
244 #define charset_none 0
245 #define charset_latin1 1
246 #define charset_ascii 2
247 #define charset_sjis 3
248 #define charset_cp932 4
249 
250 #define charset_utf8 100
251 #define charset_utf8mb4 101
252 #define charset_usc2 102
253 
254 /** extruct row comp bias
255  */
256 // In the case of a var type, it is copare as whole length.
257 #define CMPLOGICAL_VAR_COMP_ALL 16
258 #define CMPLOGICAL_CMPACS 32 // no support
259 // The field for comparison shows not a value but a field number.
260 #define CMPLOGICAL_FIELD 64
261 #define CMPLOGICAL_CASEINSENSITIVE 128 // not case-sensitive
262 
263 
264 /** btrv transaction lock options
265  */
266 #define LOCK_BIAS_DEFAULT 0
267 #define LOCK_SINGLE_WAIT 100
268 #define LOCK_SINGLE_NOWAIT 200
269 #define LOCK_MULTI_WAIT 300
270 #define LOCK_MULTI_NOWAIT 400
271 
272 #define NOWAIT_WRITE 500
273 #define PARALLEL_TRN 1000
274 #define TRN_ISO_READ_COMMITED 0
275 #define TRN_ISO_REPEATABLE_READ 2000
276 #define TRN_ISO_SERIALIZABLE 3000
277 
278 #define SINGLELOCK_READ_COMMITED LOCK_SINGLE_NOWAIT + PARALLEL_TRN
279 #define MULTILOCK_READ_COMMITED LOCK_MULTI_NOWAIT + PARALLEL_TRN
280 #define MULTILOCK_REPEATABLE_READ TRN_ISO_REPEATABLE_READ + LOCK_MULTI_NOWAIT
281 #define MULTILOCK_ISO_SERIALIZABLE TRN_ISO_SERIALIZABLE + LOCK_MULTI_NOWAIT
282 
283 /** InnoDB or transactional engin lock options
284 */
285 // Transaction
286 #define SINGLELOCK_NOGAP SINGLELOCK_READ_COMMITED
287 #define MULTILOCK_NOGAP MULTILOCK_READ_COMMITED
288 #define MULTILOCK_GAP MULTILOCK_REPEATABLE_READ + LOCK_MULTI_NOWAIT
289 // Snapshot
290 #define CONSISTENT_READ 4000
291 #define MULTILOCK_GAP_SHARE TRN_ISO_REPEATABLE_READ
292 #define MULTILOCK_NOGAP_SHARE 0
293 // Read row lock
294 #define ROW_LOCK_X LOCK_SINGLE_NOWAIT
295 #define ROW_LOCK_S 5000 + LOCK_SINGLE_NOWAIT
296 
297 //Server isoration
298 #define SRV_ISO_READ_UNCOMMITED 0
299 #define SRV_ISO_READ_COMMITED 1
300 #define SRV_ISO_REPEATABLE_READ 2
301 #define SRV_ISO_SERIALIZABLE 3
302 
303 /** open mode
304  */
305 #define TD_OPEN_NORMAL 0
306 #define TD_OPEN_READONLY -2
307 #define TD_OPEN_EXCLUSIVE -4
308 #define TD_OPEN_READONLY_EXCLUSIVE (TD_OPEN_READONLY + TD_OPEN_EXCLUSIVE)
309 
310 /** filed algin
311  */
312 #define BT_AL_LEFT 0
313 #define BT_AL_CENTER 2
314 #define BT_AL_RIGHT 1
315 
316 
317 /** error code
318  */
319 #define STATUS_TABLE_YET_OPEN -3
320 #define STATUS_DURING_TRANSACTION -4
321 #define STATUS_NO_ACR_UPDATE_DELETE -5
322 #define STATUS_NO_ACR_INSERT -6
323 #define STATUS_NO_ACR_READ -7
324 #define STATUS_CANT_ALLOC_MEMORY -8
325 #define STATUS_USE_KEYFIELD -9
326 #define STATUS_TOO_MANY_TABLES -10
327 #define STATUS_INVARID_PRM_KEY_NUM -11
328 #define STATUS_INVARID_PNT_KEY_NUM -12
329 #define STATUS_INVARID_REP_KEY_NUM -13
330 #define STATUS_INVARID_FIELD_IDX -14
331 #define STATUS_ALREADY_DELETED -15
332 #define STATUS_LMITS_MAX_TABLES -16
333 #define STATUS_DB_YET_OPEN -17
334 #define STATUS_TABLENAME_NOTFOUND -18
335 #define STATUS_DIFFERENT_DBVERSION -19
336 #define STATUS_DUPLICATE_FIELDNAME -20
337 #define STATUS_INVALID_TABLE_IDX -21
338 #define STATUS_AUTH_DENIED -22
339 #define STATUS_TOO_MANY_FIELDS -23
340 #define STATUS_FILTERSTRING_ERROR -24
341 #define STATUS_INVALID_FIELDLENGTH -25
342 #define STATUS_INVALID_KEYTYPE -26
343 #define STATUS_LVAR_NOTE_NOT_LAST -27
344 #define STATUS_NODEF_FOR_CONVERT -28
345 #define STATUS_TRD_NEED_VARLENGTH -29
346 #define STATUS_INVALID_VARIABLETABLE -30
347 #define STATUS_AUTOINC_SPACE_ERROR -31
348 #define STATUS_TOO_LONG_OWNERNAME -32
349 #define STATUS_CANT_DEL_FOR_REL -33
350 #define STATUS_NO_AUTOINC_SPACE -34
351 #define STATUS_INVALID_RECLEN -35
352 #define STATUS_INVALID_FIELDVALUE -36
353 #define STATUS_INVALID_VALLEN -37
354 #define STATUS_FIELDTYPE_NOTSUPPORT -42
355 
356 
357 #define STATUS_SUCCESS 0
358 #define STATUS_PROGRAM_ERROR 1
359 #define STATUS_IO_ERROR 2
360 #define STATUS_FILE_NOT_OPENED 3
361 #define STATUS_NOT_FOUND_TI 4
362 #define STATUS_DUPPLICATE_KEYVALUE 5
363 #define STATUS_INVALID_KEYNUM 6
364 #define STATUS_NO_CURRENT 8
365 #define STATUS_EOF 9
366 #define STATUS_TABLE_NOTOPEN 12
367 #define STATUS_REQUESTER_DEACTIVE 20
368 #define STATUS_KEYBUFFERTOOSMALL 21
369 #define STATUS_BUFFERTOOSMALL 22
370 #define STATUS_CANT_CREATE 25
371 #define STATUS_NOSUPPORT_OP 41
372 #define STATUS_INVALID_BOOKMARK 43
373 #define STATUS_ACCESS_DENIED 46
374 #define STATUS_INVALID_OWNERNAME 51
375 #define STATUS_TABLE_EXISTS_ERROR 59
376 #define STATUS_LIMMIT_OF_REJECT 60
377 #define STATUS_WARKSPACE_TOO_SMALL 61
378 #define STATUS_INVALID_EX_DESC 62
379 #define STATUS_INVALID_EX_INS 63
380 #define STATUS_REACHED_FILTER_COND 64
381 #define STATUS_INVALID_FIELD_OFFSET 65
382 #define STATUS_CHANGE_CONFLICT 80
383 #define STATUS_INVALID_LOCKTYPE 83
384 #define STATUS_LOCK_ERROR 84
385 #define STATUS_FILE_LOCKED 85
386 #define STATUS_INVALID_SUPPLYVALUES 86
387 #define STATUS_CANNOT_LOCK_TABLE 88
388 #define STATUS_INVALID_KEYNAME STATUS_INVALID_KEYNUM
389 #define STATUS_INVALID_DATASIZE STATUS_BUFFERTOOSMALL
390 #define STATUS_INVALID_FIELDNAME STATUS_INVALID_FIELD_OFFSET
391 #define ERROR_TD_INVALID_CLINETHOST 171
392 #define ERROR_NO_DATABASE 172
393 #define ERROR_NOSPECIFY_TABLE 176
394 #define ERROR_LOAD_CLIBRARY 200
395 #define ERROR_INDEX_RND_INIT 201
396 #define STATUS_INVALID_PREPAREID 202
397 #define STATUS_LMIT_OF_PREPAREED 203
398 #define STATUS_ALREADY_INSNAPSHOT 204
399 #define STATUS_ALREADY_INTRANSACTION 205
400 #define SERVER_CLIENT_NOT_COMPATIBLE 3003
401 #define NET_BAD_SRB_FORMAT 3021
402 #define ERROR_TD_HOSTNAME_NOT_FOUND 3103
403 #define ERROR_TD_CONNECTION_FAILURE 3106
404 #define ERROR_TD_NOT_CONNECTED 3110
405 #define ERROR_TD_NET_TIMEOUT 3800
406 #define ERROR_TD_NET_REMOTE_DISCONNECT 3801
407 #define ERROR_TD_NET_TOO_BIGDATA 3802
408 #define ERROR_TD_NET_OTHER 3810
409 #define ERROR_TD_C_CLIENT_UNKNOWN 3811
410 #define ERROR_TD_RECONNECTED 3900
411 
412 inline bool canRecoverNetError(short code)
413 {
414  return (code >= ERROR_TD_CONNECTION_FAILURE) &&
415  (code < ERROR_TD_RECONNECTED) &&
416  (code != ERROR_TD_NET_TOO_BIGDATA);
417 }
418 
419 
420 #define TRANSACTD_SCHEMANAME _T("transactd_schema")
421 #define TYPE_SCHEMA_BDF 0
422 #define TYPE_SCHEMA_DDF 1
423 
424 #define FILTER_CURRENT_TYPE_NOTINC 0
425 #define FILTER_CURRENT_TYPE_INC 1
426 #define FILTER_TYPE_SEEKS_BOOKMARKS 1 //with FILTER_TYPE_SEEKS only
427 #define FILTER_CURRENT_TYPE_NOBOOKMARK 2
428 #define FILTER_TYPE_SUPPLYVALUE 4
429 #define FILTER_TYPE_FORWORD 4 //at preparing only
430 #define FILTER_TYPE_SEEKS 8
431 
432 
433 /* No need export for client */
434 #define FILTER_COMBINE_NOPREPARE 0
435 #define FILTER_COMBINE_PREPARE 32
436 
437 
438 #define NIS_FILED_NAME "$nf"
439 
440 /** max ownwr name size + 1 */
441 #define OWNERNAME_SIZE 12
442 
443 #define TD_BACKUP_START 0
444 #define TD_BACKUP_END 2
445 #define TD_BACKUP_MODE_OK STATUS_SUCCESS
446 #define TD_BACKUP_MODE_NOT_SUPPORT STATUS_PROGRAM_ERROR
447 #define TD_BACKUP_MODE_BUSY STATUS_CANNOT_LOCK_TABLE
448 #define TD_BACKUP_MODE_NOT_PERMIT 41
449 #define TD_BACKUP_MODE_SERVER_ERROR 91
450 
451 
452 /** @cond INTERNAL */
453 struct trdVersiton
454 {
455  char cherserServer[128];
456  ushort_td clMajor;
457  ushort_td clMinor;
458  ushort_td clRelease;
459  ushort_td srvMajor;
460  ushort_td srvMinor;
461  ushort_td srvRelease;
462 };
463 
464 #define MYSQL_SCRAMBLE_LENGTH 20
465 #define MYSQL_USERNAME_MAX 16
466 
467 struct handshale_t
468 {
469  unsigned int size; // size of this
470  unsigned int options;
471  trdVersiton ver;
472  unsigned short transaction_isolation;
473  unsigned short lock_wait_timeout;
474  unsigned char scramble[MYSQL_SCRAMBLE_LENGTH+1]; //user auth scramble
475 };
476 
477 #define HST_OPTION_NO_SCRAMBLE 1
478 
479 /* server system variables index */
480 #define TD_VER_DB 0
481 #define TD_VER_SERVER 1
482 #define TD_VAR_LISTENADDRESS 2
483 #define TD_VAR_LISTENPORT 3
484 #define TD_VAR_HOSTCHECKNAME 4
485 #define TD_VAR_MAXTCPCONNECTIONS 5
486 #define TD_VAR_TABLENAMELOWER 6
487 #define TD_VAR_POOLTHREADS 7
488 #define TD_VAR_TCPSERVERTYPE 8
489 #define TD_VAR_LOCKWAITTIMEOUT 9
490 #define TD_VAR_ISOLATION 10
491 #define TD_VAR_AUTHTYPE 11
492 #define TD_VAR_PIPESHAREMEMSIZE 12
493 #define TD_VAR_MAXPIPECONNECTIONS 13
494 #define TD_VAR_USEPIPE 14
495 #define TD_VAR_HSLISTENPORT 15
496 #define TD_VAR_USEHS 16
497 #define TD_VAR_SIZE 17
498 
499 /** @endcond */
500 
501 /* In the case of "tdclcppxxx" library of msvc, The ($TargetName) is not changed automatically.
502  If you change this version then you need change The ($TargetName) project options too.
503  */
504 #define C_INTERFACE_VER_MAJOR "2"//##1 Build marker! Don't remove
505 #define C_INTERFACE_VER_MINOR "4"//##2 Build marker! Don't remove
506 #define C_INTERFACE_VER_RELEASE "4"//##3 Build marker! Don't remove
507 
508 /* dnamic load library name.
509  The default extention of Mac is ".boudle", Therefore ".so" is popular. */
510 #ifdef LINUX
511 #ifdef __APPLE__
512 #define C_INTERFACE_VERSTR \
513  "." C_INTERFACE_VER_MAJOR "." C_INTERFACE_VER_MINOR ".so" // use loadlibrary
514 #else // NOT __APPLE__
515 #define C_INTERFACE_VERSTR \
516  ".so." C_INTERFACE_VER_MAJOR "." C_INTERFACE_VER_MINOR // use loadlibrary
517 #endif // NOT __APPLE__
518 #else // NOT LINUX
519 #define C_INTERFACE_VERSTR \
520  "_" C_INTERFACE_VER_MAJOR "_" C_INTERFACE_VER_MINOR ".dll" // use
521 // loadlibrary
522 #endif // NOT LINUX
523 
524 #if (defined(__x86_64__) || (defined(LINUX) && !defined(__BORLANDC__)))
525 #define TDCLC_LIBNAME "tdclc_64" C_INTERFACE_VERSTR // use loadlibrary
526 #else //__x86_32__
527 #define TDCLC_LIBNAME "tdclc_32" C_INTERFACE_VERSTR // use loadlibrary
528 #endif //__x86_32__
529 
530 /* Cpp library name prefix */
531 #define TD_CPP_LIB_PRE "tdclcpp"
532 
533 #if ((defined(_MSC_VER) && defined(_DLL)) || \
534  (defined(__BORLANDC__) && defined(_RTLDLL)))
535 #define RTL_PART "r"
536 #else
537 #define RTL_PART
538 #endif
539 
540 /* Cpp library name middle part */
541 #if (defined(__x86_64__) || (defined(LINUX) && !defined(__BORLANDC__)))
542 #ifdef _UNICODE
543 #define TD_LIB_PART "64u" RTL_PART
544 #else // NOT _UNICODE
545 #define TD_LIB_PART "64m" RTL_PART
546 #endif // NOT _UNICODE
547 #else //__x86_32__
548 #ifdef _UNICODE
549 #define TD_LIB_PART "32u" RTL_PART
550 #else // NOT _UNICODE
551 #define TD_LIB_PART "32m" RTL_PART
552 #endif // NOT _UNICODE
553 #endif //__x86_32__
554 
555 /* Cpp library name version part
556  In the case of "tdclcppxxx" library of msvc , The ($TargetName) is not changed
557  automatically.
558  If you change this version then you need change The ($TargetName) project
559  options too.
560 
561  In the case of "tdclcppxxx" library of gcc , The -soname option is not changed
562  automatically.
563  If you change this version then you need change The -soname option project
564  options too.
565 
566  */
567 
568 #define CPP_INTERFACE_VER_MAJOR "2"//##4 Build marker! Don't remove
569 #define CPP_INTERFACE_VER_MINOR "4"//##5 Build marker! Don't remove
570 #define CPP_INTERFACE_VER_RELEASE "4"//##6 Build marker! Don't remove
571 
572 /* use autolink tdclcpp */
573 #if (__BCPLUSPLUS__ || _MSC_VER)
574 #ifdef __APPLE__
575 #define CPP_INTERFACE_VERSTR \
576  "_" COMPILER_VERSTR "_" TD_LIB_PART "." CPP_INTERFACE_VER_MAJOR \
577  "." CPP_INTERFACE_VER_MINOR
578 #else
579 #define CPP_INTERFACE_VERSTR \
580  "_" COMPILER_VERSTR "_" TD_LIB_PART "_" CPP_INTERFACE_VER_MAJOR \
581  "_" CPP_INTERFACE_VER_MINOR
582 #endif
583 #endif
584 
585 #define TRANSACTD_VER_MAJOR 2//##7 Build marker! Don't remove
586 #define TRANSACTD_VER_MINOR 4//##8 Build marker! Don't remove
587 #define TRANSACTD_VER_RELEASE 4//##9 Build marker! Don't remove
588 
589 #endif // BZS_DB_PROTOCOL_TDAP_TDAPCAPI_H
BOOKMARK()
Definition: tdapcapi.h:41
bool isEmpty()
Definition: tdapcapi.h:42
BOOKMARK構造体
Definition: tdapcapi.h:37
bool empty
Definition: tdapcapi.h:40
uchar_td val[MAX_BOOKMARK_SIZE]
Definition: tdapcapi.h:39
typedef short(__STDCALL *schemaMgrFn)(database *db)

Transactd SDK 2015年09月08日(火) 19時13分35秒 doxygen