Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1703 lines
54 KiB

  1. /***************************************************************************/
  2. /* COLDEFS.C */
  3. /* Copyright (C) 1995-96 SYWARE Inc., All rights reserved */
  4. /***************************************************************************/
  5. // Commenting #define out - causing compiler error - not sure if needed, compiles
  6. // okay without it.
  7. //#define WINVER 0x0400
  8. #include "precomp.h"
  9. #include "wbemidl.h"
  10. #include <comdef.h>
  11. //smart pointer
  12. _COM_SMARTPTR_TYPEDEF(IWbemServices, IID_IWbemServices);
  13. _COM_SMARTPTR_TYPEDEF(IEnumWbemClassObject, IID_IEnumWbemClassObject);
  14. //_COM_SMARTPTR_TYPEDEF(IWbemContext, IID_IWbemContext );
  15. _COM_SMARTPTR_TYPEDEF(IWbemLocator, IID_IWbemLocator);
  16. #include "drdbdr.h"
  17. /***************************************************************************/
  18. COLATTRIBUTE colAttributeTables[] = {
  19. /* COUNT */
  20. { COLUMN_COUNT_TABLES },
  21. /* TABLE_QUALIFIER */
  22. {
  23. /* count */ COLUMN_COUNT_TABLES,
  24. /* autoIncrement */ FALSE,
  25. /* caseSensitive */ -2,
  26. /* displaySize */ 128,
  27. /* label */ (LPUSTR) "QUALIFIERNAME",
  28. /* length */ 128,
  29. /* money */ FALSE,
  30. /* name */ (LPUSTR) "QUALIFIERNAME",
  31. /* nullable */ SQL_NULLABLE,
  32. /* ownerName */ (LPUSTR) "",
  33. /* precision */ 128,
  34. /* qualifierName */ (LPUSTR) "",
  35. /* scale */ 0,
  36. /* columnSearchable */ SQL_UNSEARCHABLE,
  37. /* tableName */ (LPUSTR) "",
  38. /* type */ SQL_VARCHAR,
  39. /* typeName */ (LPSTR) "VARCHAR",
  40. /* unsignedAttribute*/ TRUE,
  41. /* updatable */ SQL_ATTR_READONLY
  42. },
  43. /* TABLE_OWNER */
  44. {
  45. /* count */ COLUMN_COUNT_TABLES,
  46. /* autoIncrement */ FALSE,
  47. /* caseSensitive */ -2,
  48. /* displaySize */ 128,
  49. /* label */ (LPUSTR) "OWNERNAME",
  50. /* length */ 128,
  51. /* money */ FALSE,
  52. /* name */ (LPUSTR) "OWNERNAME",
  53. /* nullable */ SQL_NULLABLE,
  54. /* ownerName */ (LPUSTR) "",
  55. /* precision */ 128,
  56. /* qualifierName */ (LPUSTR) "",
  57. /* scale */ 0,
  58. /* columnSearchable */ SQL_UNSEARCHABLE,
  59. /* tableName */ (LPUSTR) "",
  60. /* type */ SQL_VARCHAR,
  61. /* typeName */ (LPSTR) "VARCHAR",
  62. /* unsignedAttribute*/ TRUE,
  63. /* updatable */ SQL_ATTR_READONLY
  64. },
  65. /* TABLE_NAME */
  66. {
  67. /* count */ COLUMN_COUNT_TABLES,
  68. /* autoIncrement */ FALSE,
  69. /* caseSensitive */ -2,
  70. /* displaySize */ 128,
  71. /* label */ (LPUSTR) "TABLENAME",
  72. /* length */ 128,
  73. /* money */ FALSE,
  74. /* name */ (LPUSTR) "TABLENAME",
  75. /* nullable */ SQL_NO_NULLS,
  76. /* ownerName */ (LPUSTR) "",
  77. /* precision */ 128,
  78. /* qualifierName */ (LPUSTR) "",
  79. /* scale */ 0,
  80. /* columnSearchable */ SQL_UNSEARCHABLE,
  81. /* tableName */ (LPUSTR) "",
  82. /* type */ SQL_VARCHAR,
  83. /* typeName */ (LPSTR) "VARCHAR",
  84. /* unsignedAttribute*/ TRUE,
  85. /* updatable */ SQL_ATTR_READONLY
  86. },
  87. /* TABLE_TYPE */
  88. {
  89. /* count */ COLUMN_COUNT_TABLES,
  90. /* autoIncrement */ FALSE,
  91. /* caseSensitive */ FALSE,
  92. /* displaySize */ 128,
  93. /* label */ (LPUSTR) "TYPENAME",
  94. /* length */ 128,
  95. /* money */ FALSE,
  96. /* name */ (LPUSTR) "TYPENAME",
  97. /* nullable */ SQL_NO_NULLS,
  98. /* ownerName */ (LPUSTR) "",
  99. /* precision */ 128,
  100. /* qualifierName */ (LPUSTR) "",
  101. /* scale */ 0,
  102. /* columnSearchable */ SQL_UNSEARCHABLE,
  103. /* tableName */ (LPUSTR)"",
  104. /* type */ SQL_VARCHAR,
  105. /* typeName */ (LPSTR) "VARCHAR",
  106. /* unsignedAttribute*/ TRUE,
  107. /* updatable */ SQL_ATTR_READONLY
  108. },
  109. /* TABLE_REMARKS */
  110. {
  111. /* count */ COLUMN_COUNT_TABLES,
  112. /* autoIncrement */ FALSE,
  113. /* caseSensitive */ TRUE,
  114. /* displaySize */ 254,
  115. /* label */ (LPUSTR) "REMARKS",
  116. /* length */ 254,
  117. /* money */ FALSE,
  118. /* name */ (LPUSTR) "REMARKS",
  119. /* nullable */ SQL_NULLABLE,
  120. /* ownerName */ (LPUSTR) "",
  121. /* precision */ 254,
  122. /* qualifierName */ (LPUSTR) "",
  123. /* scale */ 0,
  124. /* columnSearchable */ SQL_UNSEARCHABLE,
  125. /* tableName */ (LPUSTR) "",
  126. /* type */ SQL_VARCHAR,
  127. /* typeName */ (LPSTR) "VARCHAR",
  128. /* unsignedAttribute*/ TRUE,
  129. /* updatable */ SQL_ATTR_READONLY
  130. },
  131. /* TABLE_ATTRIBUTES */
  132. {
  133. /* count */ COLUMN_COUNT_TABLES,
  134. /* autoIncrement */ FALSE,
  135. /* caseSensitive */ TRUE,
  136. /* displaySize */ ISAM_MAX_LONGVARCHAR, /*SQL_NO_TOTAL,*/
  137. /* label */ (LPUSTR) "ATTRIBUTES",
  138. /* length */ ISAM_MAX_LONGVARCHAR, /*SQL_NO_TOTAL,*/
  139. /* money */ FALSE,
  140. /* name */ (LPUSTR) "ATTRIBUTES",
  141. /* nullable */ SQL_NO_NULLS,
  142. /* ownerName */ (LPUSTR) "",
  143. /* precision */ ISAM_MAX_LONGVARCHAR, /*SQL_NO_TOTAL,*/
  144. /* qualifierName */ (LPUSTR) "",
  145. /* scale */ 0,
  146. /* columnSearchable */ SQL_UNSEARCHABLE,
  147. /* tableName */ (LPUSTR) "",
  148. /* type */ SQL_LONGVARCHAR,
  149. /* typeName */ (LPSTR) "LONGVARCHAR",
  150. /* unsignedAttribute*/ TRUE,
  151. /* updatable */ SQL_ATTR_READONLY
  152. },
  153. };
  154. COLATTRIBUTE colAttributeColumns[] = {
  155. /* COUNT */
  156. { COLUMN_COUNT_COLUMNS },
  157. /* COLUMN_QUALIFIER */
  158. {
  159. /* count */ COLUMN_COUNT_COLUMNS,
  160. /* autoIncrement */ FALSE,
  161. /* caseSensitive */ -2,
  162. /* displaySize */ 128,
  163. /* label */ (LPUSTR) "QUALIFIERNAME",
  164. /* length */ 128,
  165. /* money */ FALSE,
  166. /* name */ (LPUSTR) "QUALIFIERNAME",
  167. /* nullable */ SQL_NULLABLE,
  168. /* ownerName */ (LPUSTR) "",
  169. /* precision */ 128,
  170. /* qualifierName */ (LPUSTR) "",
  171. /* scale */ 0,
  172. /* columnSearchable */ SQL_UNSEARCHABLE,
  173. /* tableName */ (LPUSTR) "",
  174. /* type */ SQL_VARCHAR,
  175. /* typeName */ (LPSTR) "VARCHAR",
  176. /* unsignedAttribute*/ TRUE,
  177. /* updatable */ SQL_ATTR_READONLY
  178. },
  179. /* COLUMN_OWNER */
  180. {
  181. /* count */ COLUMN_COUNT_COLUMNS,
  182. /* autoIncrement */ FALSE,
  183. /* caseSensitive */ -2,
  184. /* displaySize */ 128,
  185. /* label */ (LPUSTR) "OWNERNAME",
  186. /* length */ 128,
  187. /* money */ FALSE,
  188. /* name */ (LPUSTR) "OWNERNAME",
  189. /* nullable */ SQL_NULLABLE,
  190. /* ownerName */ (LPUSTR) "",
  191. /* precision */ 128,
  192. /* qualifierName */ (LPUSTR) "",
  193. /* scale */ 0,
  194. /* columnSearchable */ SQL_UNSEARCHABLE,
  195. /* tableName */ (LPUSTR) "",
  196. /* type */ SQL_VARCHAR,
  197. /* typeName */ (LPSTR) "VARCHAR",
  198. /* unsignedAttribute*/ TRUE,
  199. /* updatable */ SQL_ATTR_READONLY
  200. },
  201. /* COLUMN_TABLE */
  202. {
  203. /* count */ COLUMN_COUNT_COLUMNS,
  204. /* autoIncrement */ FALSE,
  205. /* caseSensitive */ -2,
  206. /* displaySize */ 128,
  207. /* label */ (LPUSTR) "TABLENAME",
  208. /* length */ 128,
  209. /* money */ FALSE,
  210. /* name */ (LPUSTR) "TABLENAME",
  211. /* nullable */ SQL_NO_NULLS,
  212. /* ownerName */ (LPUSTR) "",
  213. /* precision */ 128,
  214. /* qualifierName */ (LPUSTR) "",
  215. /* scale */ 0,
  216. /* columnSearchable */ SQL_UNSEARCHABLE,
  217. /* tableName */ (LPUSTR) "",
  218. /* type */ SQL_VARCHAR,
  219. /* typeName */ (LPSTR) "VARCHAR",
  220. /* unsignedAttribute*/ TRUE,
  221. /* updatable */ SQL_ATTR_READONLY
  222. },
  223. /* COLUMN_NAME */
  224. {
  225. /* count */ COLUMN_COUNT_COLUMNS,
  226. /* autoIncrement */ FALSE,
  227. /* caseSensitive */ -2,
  228. /* displaySize */ 128,
  229. /* label */ (LPUSTR) "COLUMNNAME",
  230. /* length */ 128,
  231. /* money */ FALSE,
  232. /* name */ (LPUSTR) "COLUMNNAME",
  233. /* nullable */ SQL_NO_NULLS,
  234. /* ownerName */ (LPUSTR) "",
  235. /* precision */ 128,
  236. /* qualifierName */ (LPUSTR) "",
  237. /* scale */ 0,
  238. /* columnSearchable */ SQL_UNSEARCHABLE,
  239. /* tableName */ (LPUSTR) "",
  240. /* type */ SQL_VARCHAR,
  241. /* typeName */ (LPSTR) "VARCHAR",
  242. /* unsignedAttribute*/ TRUE,
  243. /* updatable */ SQL_ATTR_READONLY
  244. },
  245. /* COLUMN_TYPE */
  246. {
  247. /* count */ COLUMN_COUNT_COLUMNS,
  248. /* autoIncrement */ FALSE,
  249. /* caseSensitive */ FALSE,
  250. /* displaySize */ 5,
  251. /* label */ (LPUSTR) "TYPE",
  252. /* length */ 2,
  253. /* money */ FALSE,
  254. /* name */ (LPUSTR) "TYPE",
  255. /* nullable */ SQL_NO_NULLS,
  256. /* ownerName */ (LPUSTR) "",
  257. /* precision */ 5,
  258. /* qualifierName */ (LPUSTR) "",
  259. /* scale */ 0,
  260. /* columnSearchable */ SQL_UNSEARCHABLE,
  261. /* tableName */ (LPUSTR) "",
  262. /* type */ SQL_SMALLINT,
  263. /* typeName */ (LPSTR) "SMALLINT",
  264. /* unsignedAttribute*/ TRUE,
  265. /* updatable */ SQL_ATTR_READONLY
  266. },
  267. /* COLUMN_TYPENAME */
  268. {
  269. /* count */ COLUMN_COUNT_COLUMNS,
  270. /* autoIncrement */ FALSE,
  271. /* caseSensitive */ FALSE,
  272. /* displaySize */ 128,
  273. /* label */ (LPUSTR) "TYPENAME",
  274. /* length */ 128,
  275. /* money */ FALSE,
  276. /* name */ (LPUSTR) "TYPENAME",
  277. /* nullable */ SQL_NO_NULLS,
  278. /* ownerName */ (LPUSTR) "",
  279. /* precision */ 128,
  280. /* qualifierName */ (LPUSTR) "",
  281. /* scale */ 0,
  282. /* columnSearchable */ SQL_UNSEARCHABLE,
  283. /* tableName */ (LPUSTR) "",
  284. /* type */ SQL_VARCHAR,
  285. /* typeName */ (LPSTR) "VARCHAR",
  286. /* unsignedAttribute*/ TRUE,
  287. /* updatable */ SQL_ATTR_READONLY
  288. },
  289. /* COLUMN_PRECISION */
  290. {
  291. /* count */ COLUMN_COUNT_COLUMNS,
  292. /* autoIncrement */ FALSE,
  293. /* caseSensitive */ FALSE,
  294. /* displaySize */ 10,
  295. /* label */ (LPUSTR) "PRECISION",
  296. /* length */ 4,
  297. /* money */ FALSE,
  298. /* name */ (LPUSTR) "PRECISION",
  299. /* nullable */ SQL_NULLABLE,
  300. /* ownerName */ (LPUSTR) "",
  301. /* precision */ 10,
  302. /* qualifierName */ (LPUSTR) "",
  303. /* scale */ 0,
  304. /* columnSearchable */ SQL_UNSEARCHABLE,
  305. /* tableName */ (LPUSTR) "",
  306. /* type */ SQL_INTEGER,
  307. /* typeName */ (LPSTR) "INTEGER",
  308. /* unsignedAttribute*/ TRUE,
  309. /* updatable */ SQL_ATTR_READONLY
  310. },
  311. /* COLUMN_LENGTH */
  312. {
  313. /* count */ COLUMN_COUNT_COLUMNS,
  314. /* autoIncrement */ FALSE,
  315. /* caseSensitive */ FALSE,
  316. /* displaySize */ 10,
  317. /* label */ (LPUSTR) "LENGTH",
  318. /* length */ 4,
  319. /* money */ FALSE,
  320. /* name */ (LPUSTR) "LENGTH",
  321. /* nullable */ SQL_NULLABLE,
  322. /* ownerName */ (LPUSTR) "",
  323. /* precision */ 10,
  324. /* qualifierName */ (LPUSTR) "",
  325. /* scale */ 0,
  326. /* columnSearchable */ SQL_UNSEARCHABLE,
  327. /* tableName */ (LPUSTR) "",
  328. /* type */ SQL_INTEGER,
  329. /* typeName */ (LPSTR) "INTEGER",
  330. /* unsignedAttribute*/ TRUE,
  331. /* updatable */ SQL_ATTR_READONLY
  332. },
  333. /* COLUMN_SCALE */
  334. {
  335. /* count */ COLUMN_COUNT_COLUMNS,
  336. /* autoIncrement */ FALSE,
  337. /* caseSensitive */ FALSE,
  338. /* displaySize */ 5,
  339. /* label */ (LPUSTR) "SCALE",
  340. /* length */ 2,
  341. /* money */ FALSE,
  342. /* name */ (LPUSTR) "SCALE",
  343. /* nullable */ SQL_NULLABLE,
  344. /* ownerName */ (LPUSTR) "",
  345. /* precision */ 5,
  346. /* qualifierName */ (LPUSTR) "",
  347. /* scale */ 0,
  348. /* columnSearchable */ SQL_UNSEARCHABLE,
  349. /* tableName */ (LPUSTR) "",
  350. /* type */ SQL_SMALLINT,
  351. /* typeName */ (LPSTR) "SMALLINT",
  352. /* unsignedAttribute*/ TRUE,
  353. /* updatable */ SQL_ATTR_READONLY
  354. },
  355. /* COLUMN_RADIX*/
  356. {
  357. /* count */ COLUMN_COUNT_COLUMNS,
  358. /* autoIncrement */ FALSE,
  359. /* caseSensitive */ FALSE,
  360. /* displaySize */ 5,
  361. /* label */ (LPUSTR) "RADIX",
  362. /* length */ 2,
  363. /* money */ FALSE,
  364. /* name */ (LPUSTR) "RADIX",
  365. /* nullable */ SQL_NULLABLE,
  366. /* ownerName */ (LPUSTR) "",
  367. /* precision */ 5,
  368. /* qualifierName */ (LPUSTR) "",
  369. /* scale */ 0,
  370. /* columnSearchable */ SQL_UNSEARCHABLE,
  371. /* tableName */ (LPUSTR) "",
  372. /* type */ SQL_SMALLINT,
  373. /* typeName */ (LPSTR) "SMALLINT",
  374. /* unsignedAttribute*/ TRUE,
  375. /* updatable */ SQL_ATTR_READONLY
  376. },
  377. /* COLUMN_NULLABLE */
  378. {
  379. /* count */ COLUMN_COUNT_COLUMNS,
  380. /* autoIncrement */ FALSE,
  381. /* caseSensitive */ FALSE,
  382. /* displaySize */ 5,
  383. /* label */ (LPUSTR) "NULLABLE",
  384. /* length */ 2,
  385. /* money */ FALSE,
  386. /* name */ (LPUSTR) "NULLABLE",
  387. /* nullable */ SQL_NO_NULLS,
  388. /* ownerName */ (LPUSTR) "",
  389. /* precision */ 5,
  390. /* qualifierName */ (LPUSTR) "",
  391. /* scale */ 0,
  392. /* columnSearchable */ SQL_UNSEARCHABLE,
  393. /* tableName */ (LPUSTR) "",
  394. /* type */ SQL_SMALLINT,
  395. /* typeName */ (LPSTR) "SMALLINT",
  396. /* unsignedAttribute*/ TRUE,
  397. /* updatable */ SQL_ATTR_READONLY
  398. },
  399. /* COLUMN_REMARKS */
  400. {
  401. /* count */ COLUMN_COUNT_COLUMNS,
  402. /* autoIncrement */ FALSE,
  403. /* caseSensitive */ TRUE,
  404. /* displaySize */ 254,
  405. /* label */ (LPUSTR) "REMARKS",
  406. /* length */ 254,
  407. /* money */ FALSE,
  408. /* name */ (LPUSTR) "REMARKS",
  409. /* nullable */ SQL_NULLABLE,
  410. /* ownerName */ (LPUSTR) "",
  411. /* precision */ 254,
  412. /* qualifierName */ (LPUSTR) "",
  413. /* scale */ 0,
  414. /* columnSearchable */ SQL_UNSEARCHABLE,
  415. /* tableName */ (LPUSTR) "",
  416. /* type */ SQL_VARCHAR,
  417. /* typeName */ (LPSTR) "VARCHAR",
  418. /* unsignedAttribute*/ TRUE,
  419. /* updatable */ SQL_ATTR_READONLY
  420. },
  421. /* COLUMN_ATTRIBUTES */
  422. {
  423. /* count */ COLUMN_COUNT_COLUMNS,
  424. /* autoIncrement */ FALSE,
  425. /* caseSensitive */ -2,
  426. /* displaySize */ ISAM_MAX_LONGVARCHAR, /*SQL_NO_TOTAL,*/
  427. /* label */ (LPUSTR) "ATTRIBUTES",
  428. /* length */ ISAM_MAX_LONGVARCHAR, /*SQL_NO_TOTAL,*/
  429. /* money */ FALSE,
  430. /* name */ (LPUSTR) "ATTRIBUTES",
  431. /* nullable */ SQL_NO_NULLS,
  432. /* ownerName */ (LPUSTR) "",
  433. /* precision */ ISAM_MAX_LONGVARCHAR, /*SQL_NO_TOTAL,*/
  434. /* qualifierName */ (LPUSTR) "",
  435. /* scale */ 0,
  436. /* columnSearchable */ SQL_UNSEARCHABLE,
  437. /* tableName */ (LPUSTR) "",
  438. /* type */ SQL_LONGVARCHAR,
  439. /* typeName */ (LPSTR) "LONGVARCHAR",
  440. /* unsignedAttribute*/ TRUE,
  441. /* updatable */ SQL_ATTR_READONLY
  442. }
  443. };
  444. COLATTRIBUTE colAttributeStatistics[] = {
  445. /* COUNT */
  446. { COLUMN_COUNT_STATISTICS },
  447. /* STATISTIC_QUALIFIER */
  448. {
  449. /* count */ COLUMN_COUNT_STATISTICS,
  450. /* autoIncrement */ FALSE,
  451. /* caseSensitive */ -2,
  452. /* displaySize */ 128,
  453. /* label */ (LPUSTR) "QUALIFIERNAME",
  454. /* length */ 128,
  455. /* money */ FALSE,
  456. /* name */ (LPUSTR) "QUALIFIERNAME",
  457. /* nullable */ SQL_NULLABLE,
  458. /* ownerName */ (LPUSTR) "",
  459. /* precision */ 128,
  460. /* qualifierName */ (LPUSTR) "",
  461. /* scale */ 0,
  462. /* columnSearchable */ SQL_UNSEARCHABLE,
  463. /* tableName */ (LPUSTR) "",
  464. /* type */ SQL_VARCHAR,
  465. /* typeName */ (LPSTR) "VARCHAR",
  466. /* unsignedAttribute*/ TRUE,
  467. /* updatable */ SQL_ATTR_READONLY
  468. },
  469. /* STATISTIC_OWNER */
  470. {
  471. /* count */ COLUMN_COUNT_STATISTICS,
  472. /* autoIncrement */ FALSE,
  473. /* caseSensitive */ -2,
  474. /* displaySize */ 128,
  475. /* label */ (LPUSTR) "OWNERNAME",
  476. /* length */ 128,
  477. /* money */ FALSE,
  478. /* name */ (LPUSTR) "OWNERNAME",
  479. /* nullable */ SQL_NULLABLE,
  480. /* ownerName */ (LPUSTR) "",
  481. /* precision */ 128,
  482. /* qualifierName */ (LPUSTR) "",
  483. /* scale */ 0,
  484. /* columnSearchable */ SQL_UNSEARCHABLE,
  485. /* tableName */ (LPUSTR) "",
  486. /* type */ SQL_VARCHAR,
  487. /* typeName */ (LPSTR) "VARCHAR",
  488. /* unsignedAttribute*/ TRUE,
  489. /* updatable */ SQL_ATTR_READONLY
  490. },
  491. /* STATISTIC_NAME */
  492. {
  493. /* count */ COLUMN_COUNT_STATISTICS,
  494. /* autoIncrement */ FALSE,
  495. /* caseSensitive */ -2,
  496. /* displaySize */ 128,
  497. /* label */ (LPUSTR) "TABLENAME",
  498. /* length */ 128,
  499. /* money */ FALSE,
  500. /* name */ (LPUSTR) "TABLENAME",
  501. /* nullable */ SQL_NO_NULLS,
  502. /* ownerName */ (LPUSTR) "",
  503. /* precision */ 128,
  504. /* qualifierName */ (LPUSTR) "",
  505. /* scale */ 0,
  506. /* columnSearchable */ SQL_UNSEARCHABLE,
  507. /* tableName */ (LPUSTR) "",
  508. /* type */ SQL_VARCHAR,
  509. /* typeName */ (LPSTR) "VARCHAR",
  510. /* unsignedAttribute*/ TRUE,
  511. /* updatable */ SQL_ATTR_READONLY
  512. },
  513. /* STATISTIC_NONUNIQUE */
  514. {
  515. /* count */ COLUMN_COUNT_STATISTICS,
  516. /* autoIncrement */ FALSE,
  517. /* caseSensitive */ FALSE,
  518. /* displaySize */ 5,
  519. /* label */ (LPUSTR) "NONUNIQUE",
  520. /* length */ 2,
  521. /* money */ FALSE,
  522. /* name */ (LPUSTR) "NONUNIQUE",
  523. /* nullable */ SQL_NULLABLE,
  524. /* ownerName */ (LPUSTR) "",
  525. /* precision */ 5,
  526. /* qualifierName */ (LPUSTR) "",
  527. /* scale */ 0,
  528. /* columnSearchable */ SQL_UNSEARCHABLE,
  529. /* tableName */ (LPUSTR) "",
  530. /* type */ SQL_SMALLINT,
  531. /* typeName */ (LPSTR) "SMALLINT",
  532. /* unsignedAttribute*/ TRUE,
  533. /* updatable */ SQL_ATTR_READONLY
  534. },
  535. /* STATISTIC_INDEXQUALIFIER */
  536. {
  537. /* count */ COLUMN_COUNT_STATISTICS,
  538. /* autoIncrement */ FALSE,
  539. /* caseSensitive */ -2,
  540. /* displaySize */ 128,
  541. /* label */ (LPUSTR) "INDEXQUALIFIERNAME",
  542. /* length */ 128,
  543. /* money */ FALSE,
  544. /* name */ (LPUSTR) "INDEXQUALIFIERNAME",
  545. /* nullable */ SQL_NULLABLE,
  546. /* ownerName */ (LPUSTR) "",
  547. /* precision */ 128,
  548. /* qualifierName */ (LPUSTR) "",
  549. /* scale */ 0,
  550. /* columnSearchable */ SQL_UNSEARCHABLE,
  551. /* tableName */ (LPUSTR) "",
  552. /* type */ SQL_VARCHAR,
  553. /* typeName */ (LPSTR) "VARCHAR",
  554. /* unsignedAttribute*/ TRUE,
  555. /* updatable */ SQL_ATTR_READONLY
  556. },
  557. /* STATISTIC_INDEXNAME */
  558. {
  559. /* count */ COLUMN_COUNT_STATISTICS,
  560. /* autoIncrement */ FALSE,
  561. /* caseSensitive */ -2,
  562. /* displaySize */ 128,
  563. /* label */ (LPUSTR) "INDEXNAME",
  564. /* length */ 128,
  565. /* money */ FALSE,
  566. /* name */ (LPUSTR) "INDEXNAME",
  567. /* nullable */ SQL_NULLABLE,
  568. /* ownerName */ (LPUSTR) "",
  569. /* precision */ 128,
  570. /* qualifierName */ (LPUSTR) "",
  571. /* scale */ 0,
  572. /* columnSearchable */ SQL_UNSEARCHABLE,
  573. /* tableName */ (LPUSTR) "",
  574. /* type */ SQL_VARCHAR,
  575. /* typeName */ (LPSTR) "VARCHAR",
  576. /* unsignedAttribute*/ TRUE,
  577. /* updatable */ SQL_ATTR_READONLY
  578. },
  579. /* STATISTIC_TYPE */
  580. {
  581. /* count */ COLUMN_COUNT_STATISTICS,
  582. /* autoIncrement */ FALSE,
  583. /* caseSensitive */ FALSE,
  584. /* displaySize */ 5,
  585. /* label */ (LPUSTR) "TYPE",
  586. /* length */ 2,
  587. /* money */ FALSE,
  588. /* name */ (LPUSTR) "TYPE",
  589. /* nullable */ SQL_NO_NULLS,
  590. /* ownerName */ (LPUSTR) "",
  591. /* precision */ 5,
  592. /* qualifierName */ (LPUSTR) "",
  593. /* scale */ 0,
  594. /* columnSearchable */ SQL_UNSEARCHABLE,
  595. /* tableName */ (LPUSTR) "",
  596. /* type */ SQL_SMALLINT,
  597. /* typeName */ (LPSTR) "SMALLINT",
  598. /* unsignedAttribute*/ TRUE,
  599. /* updatable */ SQL_ATTR_READONLY
  600. },
  601. /* STATISTIC_SEQININDEX */
  602. {
  603. /* count */ COLUMN_COUNT_STATISTICS,
  604. /* autoIncrement */ FALSE,
  605. /* caseSensitive */ FALSE,
  606. /* displaySize */ 5,
  607. /* label */ (LPUSTR) "SEQININDEX",
  608. /* length */ 2,
  609. /* money */ FALSE,
  610. /* name */ (LPUSTR) "SEQININDEX",
  611. /* nullable */ SQL_NULLABLE,
  612. /* ownerName */ (LPUSTR) "",
  613. /* precision */ 5,
  614. /* qualifierName */ (LPUSTR) "",
  615. /* scale */ 0,
  616. /* columnSearchable */ SQL_UNSEARCHABLE,
  617. /* tableName */ (LPUSTR) "",
  618. /* type */ SQL_SMALLINT,
  619. /* typeName */ (LPSTR) "SMALLINT",
  620. /* unsignedAttribute*/ TRUE,
  621. /* updatable */ SQL_ATTR_READONLY
  622. },
  623. /* STATISTIC_COLUMNNAME */
  624. {
  625. /* count */ COLUMN_COUNT_STATISTICS,
  626. /* autoIncrement */ FALSE,
  627. /* caseSensitive */ -2,
  628. /* displaySize */ 128,
  629. /* label */ (LPUSTR) "COLUMNNAME",
  630. /* length */ 128,
  631. /* money */ FALSE,
  632. /* name */ (LPUSTR) "COLUMNNAME",
  633. /* nullable */ SQL_NULLABLE,
  634. /* ownerName */ (LPUSTR) "",
  635. /* precision */ 128,
  636. /* qualifierName */ (LPUSTR) "",
  637. /* scale */ 0,
  638. /* columnSearchable */ SQL_UNSEARCHABLE,
  639. /* tableName */ (LPUSTR) "",
  640. /* type */ SQL_VARCHAR,
  641. /* typeName */ (LPSTR) "VARCHAR",
  642. /* unsignedAttribute*/ TRUE,
  643. /* updatable */ SQL_ATTR_READONLY
  644. },
  645. /* STATISTIC_COLLATION */
  646. {
  647. /* count */ COLUMN_COUNT_STATISTICS,
  648. /* autoIncrement */ FALSE,
  649. /* caseSensitive */ TRUE,
  650. /* displaySize */ 1,
  651. /* label */ (LPUSTR) "COLLATION",
  652. /* length */ 1,
  653. /* money */ FALSE,
  654. /* name */ (LPUSTR) "COLLATION",
  655. /* nullable */ SQL_NULLABLE,
  656. /* ownerName */ (LPUSTR) "",
  657. /* precision */ 1,
  658. /* qualifierName */ (LPUSTR) "",
  659. /* scale */ 0,
  660. /* columnSearchable */ SQL_UNSEARCHABLE,
  661. /* tableName */ (LPUSTR) "",
  662. /* type */ SQL_CHAR,
  663. /* typeName */ (LPSTR) "CHAR",
  664. /* unsignedAttribute*/ TRUE,
  665. /* updatable */ SQL_ATTR_READONLY
  666. },
  667. /* STATISTIC_CARDINALITY */
  668. {
  669. /* count */ COLUMN_COUNT_STATISTICS,
  670. /* autoIncrement */ FALSE,
  671. /* caseSensitive */ FALSE,
  672. /* displaySize */ 10,
  673. /* label */ (LPUSTR) "CARDINALITY",
  674. /* length */ 4,
  675. /* money */ FALSE,
  676. /* name */ (LPUSTR) "CARDINALITY",
  677. /* nullable */ SQL_NULLABLE,
  678. /* ownerName */ (LPUSTR) "",
  679. /* precision */ 10,
  680. /* qualifierName */ (LPUSTR) "",
  681. /* scale */ 0,
  682. /* columnSearchable */ SQL_UNSEARCHABLE,
  683. /* tableName */ (LPUSTR) "",
  684. /* type */ SQL_INTEGER,
  685. /* typeName */ (LPSTR) "INTEGER",
  686. /* unsignedAttribute*/ TRUE,
  687. /* updatable */ SQL_ATTR_READONLY
  688. },
  689. /* STATISTIC_PAGES */
  690. {
  691. /* count */ COLUMN_COUNT_STATISTICS,
  692. /* autoIncrement */ FALSE,
  693. /* caseSensitive */ FALSE,
  694. /* displaySize */ 10,
  695. /* label */ (LPUSTR) "PAGES",
  696. /* length */ 4,
  697. /* money */ FALSE,
  698. /* name */ (LPUSTR) "PAGES",
  699. /* nullable */ SQL_NULLABLE,
  700. /* ownerName */ (LPUSTR) "",
  701. /* precision */ 10,
  702. /* qualifierName */ (LPUSTR) "",
  703. /* scale */ 0,
  704. /* columnSearchable */ SQL_UNSEARCHABLE,
  705. /* tableName */ (LPUSTR) "",
  706. /* type */ SQL_INTEGER,
  707. /* typeName */ (LPSTR) "INTEGER",
  708. /* unsignedAttribute*/ TRUE,
  709. /* updatable */ SQL_ATTR_READONLY
  710. },
  711. /* STATISTIC_FILTERCONDITION */
  712. {
  713. /* count */ COLUMN_COUNT_STATISTICS,
  714. /* autoIncrement */ FALSE,
  715. /* caseSensitive */ -2,
  716. /* displaySize */ 128,
  717. /* label */ (LPUSTR) "FILTER",
  718. /* length */ 128,
  719. /* money */ FALSE,
  720. /* name */ (LPUSTR) "FILTER",
  721. /* nullable */ SQL_NULLABLE,
  722. /* ownerName */ (LPUSTR) "",
  723. /* precision */ 128,
  724. /* qualifierName */ (LPUSTR) "",
  725. /* scale */ 0,
  726. /* columnSearchable */ SQL_UNSEARCHABLE,
  727. /* tableName */ (LPUSTR) "",
  728. /* type */ SQL_VARCHAR,
  729. /* typeName */ (LPSTR) "VARCHAR",
  730. /* unsignedAttribute*/ TRUE,
  731. /* updatable */ SQL_ATTR_READONLY
  732. }
  733. };
  734. COLATTRIBUTE colAttributeSpecialColumns[] = {
  735. /* COUNT */
  736. { COLUMN_COUNT_SPECIALCOLUMNS },
  737. /* SPECIALCOLUMN_SCOPE */
  738. {
  739. /* count */ COLUMN_COUNT_SPECIALCOLUMNS,
  740. /* autoIncrement */ FALSE,
  741. /* caseSensitive */ FALSE,
  742. /* displaySize */ 5,
  743. /* label */ (LPUSTR) "SCOPE",
  744. /* length */ 2,
  745. /* money */ FALSE,
  746. /* name */ (LPUSTR) "SCOPE",
  747. /* nullable */ SQL_NULLABLE,
  748. /* ownerName */ (LPUSTR) "",
  749. /* precision */ 5,
  750. /* qualifierName */ (LPUSTR) "",
  751. /* scale */ 0,
  752. /* columnSearchable */ SQL_UNSEARCHABLE,
  753. /* tableName */ (LPUSTR) "",
  754. /* type */ SQL_SMALLINT,
  755. /* typeName */ (LPSTR) "SMALLINT",
  756. /* unsignedAttribute*/ TRUE,
  757. /* updatable */ SQL_ATTR_READONLY
  758. },
  759. /* SPECIALCOLUMN_NAME */
  760. {
  761. /* count */ COLUMN_COUNT_SPECIALCOLUMNS,
  762. /* autoIncrement */ FALSE,
  763. /* caseSensitive */ -2,
  764. /* displaySize */ 128,
  765. /* label */ (LPUSTR) "COLUMNNAME",
  766. /* length */ 128,
  767. /* money */ FALSE,
  768. /* name */ (LPUSTR) "COLUMNNAME",
  769. /* nullable */ SQL_NO_NULLS,
  770. /* ownerName */ (LPUSTR) "",
  771. /* precision */ 128,
  772. /* qualifierName */ (LPUSTR) "",
  773. /* scale */ 0,
  774. /* columnSearchable */ SQL_UNSEARCHABLE,
  775. /* tableName */ (LPUSTR) "",
  776. /* type */ SQL_VARCHAR,
  777. /* typeName */ (LPSTR) "VARCHAR",
  778. /* unsignedAttribute*/ TRUE,
  779. /* updatable */ SQL_ATTR_READONLY
  780. },
  781. /* SPECIALCOLUMN_TYPE */
  782. {
  783. /* count */ COLUMN_COUNT_SPECIALCOLUMNS,
  784. /* autoIncrement */ FALSE,
  785. /* caseSensitive */ FALSE,
  786. /* displaySize */ 5,
  787. /* label */ (LPUSTR) "TYPE",
  788. /* length */ 2,
  789. /* money */ FALSE,
  790. /* name */ (LPUSTR) "TYPE",
  791. /* nullable */ SQL_NO_NULLS,
  792. /* ownerName */ (LPUSTR) "",
  793. /* precision */ 5,
  794. /* qualifierName */ (LPUSTR) "",
  795. /* scale */ 0,
  796. /* columnSearchable */ SQL_UNSEARCHABLE,
  797. /* tableName */ (LPUSTR) "",
  798. /* type */ SQL_SMALLINT,
  799. /* typeName */ (LPSTR) "SMALLINT",
  800. /* unsignedAttribute*/ TRUE,
  801. /* updatable */ SQL_ATTR_READONLY
  802. },
  803. /* SPECIALCOLUMN_TYPENAME */
  804. {
  805. /* count */ COLUMN_COUNT_SPECIALCOLUMNS,
  806. /* autoIncrement */ FALSE,
  807. /* caseSensitive */ FALSE,
  808. /* displaySize */ 128,
  809. /* label */ (LPUSTR) "TYPENAME",
  810. /* length */ 128,
  811. /* money */ FALSE,
  812. /* name */ (LPUSTR) "TYPENAME",
  813. /* nullable */ SQL_NO_NULLS,
  814. /* ownerName */ (LPUSTR) "",
  815. /* precision */ 128,
  816. /* qualifierName */ (LPUSTR) "",
  817. /* scale */ 0,
  818. /* columnSearchable */ SQL_UNSEARCHABLE,
  819. /* tableName */ (LPUSTR) "",
  820. /* type */ SQL_VARCHAR,
  821. /* typeName */ (LPSTR) "VARCHAR",
  822. /* unsignedAttribute*/ TRUE,
  823. /* updatable */ SQL_ATTR_READONLY
  824. },
  825. /* SPECIALCOLUMN_PRECISION */
  826. {
  827. /* count */ COLUMN_COUNT_SPECIALCOLUMNS,
  828. /* autoIncrement */ FALSE,
  829. /* caseSensitive */ FALSE,
  830. /* displaySize */ 10,
  831. /* label */ (LPUSTR) "PRECISION",
  832. /* length */ 4,
  833. /* money */ FALSE,
  834. /* name */ (LPUSTR) "PRECISION",
  835. /* nullable */ SQL_NULLABLE,
  836. /* ownerName */ (LPUSTR) "",
  837. /* precision */ 10,
  838. /* qualifierName */ (LPUSTR) "",
  839. /* scale */ 0,
  840. /* columnSearchable */ SQL_UNSEARCHABLE,
  841. /* tableName */ (LPUSTR) "",
  842. /* type */ SQL_INTEGER,
  843. /* typeName */ (LPSTR) "INTEGER",
  844. /* unsignedAttribute*/ TRUE,
  845. /* updatable */ SQL_ATTR_READONLY
  846. },
  847. /* SPECIALCOLUMN_LENGTH */
  848. {
  849. /* count */ COLUMN_COUNT_SPECIALCOLUMNS,
  850. /* autoIncrement */ FALSE,
  851. /* caseSensitive */ FALSE,
  852. /* displaySize */ 10,
  853. /* label */ (LPUSTR) "LENGTH",
  854. /* length */ 4,
  855. /* money */ FALSE,
  856. /* name */ (LPUSTR) "LENGTH",
  857. /* nullable */ SQL_NULLABLE,
  858. /* ownerName */ (LPUSTR) "",
  859. /* precision */ 10,
  860. /* qualifierName */ (LPUSTR) "",
  861. /* scale */ 0,
  862. /* columnSearchable */ SQL_UNSEARCHABLE,
  863. /* tableName */ (LPUSTR) "",
  864. /* type */ SQL_INTEGER,
  865. /* typeName */ (LPSTR) "INTEGER",
  866. /* unsignedAttribute*/ TRUE,
  867. /* updatable */ SQL_ATTR_READONLY
  868. },
  869. /* SPECIALCOLUMN_SCALE */
  870. {
  871. /* count */ COLUMN_COUNT_SPECIALCOLUMNS,
  872. /* autoIncrement */ FALSE,
  873. /* caseSensitive */ FALSE,
  874. /* displaySize */ 5,
  875. /* label */ (LPUSTR) "SCALE",
  876. /* length */ 2,
  877. /* money */ FALSE,
  878. /* name */ (LPUSTR) "SCALE",
  879. /* nullable */ SQL_NULLABLE,
  880. /* ownerName */ (LPUSTR) "",
  881. /* precision */ 5,
  882. /* qualifierName */ (LPUSTR) "",
  883. /* scale */ 0,
  884. /* columnSearchable */ SQL_UNSEARCHABLE,
  885. /* tableName */ (LPUSTR) "",
  886. /* type */ SQL_SMALLINT,
  887. /* typeName */ (LPSTR) "SMALLINT",
  888. /* unsignedAttribute*/ TRUE,
  889. /* updatable */ SQL_ATTR_READONLY
  890. },
  891. /* SPECIALCOLUMN_PSEUDOCOLUMN */
  892. {
  893. /* count */ COLUMN_COUNT_SPECIALCOLUMNS,
  894. /* autoIncrement */ FALSE,
  895. /* caseSensitive */ FALSE,
  896. /* displaySize */ 5,
  897. /* label */ (LPUSTR) "PSEUDO",
  898. /* length */ 2,
  899. /* money */ FALSE,
  900. /* name */ (LPUSTR) "PSEUDO",
  901. /* nullable */ SQL_NULLABLE,
  902. /* ownerName */ (LPUSTR) "",
  903. /* precision */ 5,
  904. /* qualifierName */ (LPUSTR) "",
  905. /* scale */ 0,
  906. /* columnSearchable */ SQL_UNSEARCHABLE,
  907. /* tableName */ (LPUSTR) "",
  908. /* type */ SQL_SMALLINT,
  909. /* typeName */ (LPSTR) "SMALLINT",
  910. /* unsignedAttribute*/ TRUE,
  911. /* updatable */ SQL_ATTR_READONLY
  912. }
  913. };
  914. COLATTRIBUTE colAttributeTypeInfo[] = {
  915. /* COUNT */
  916. { COLUMN_COUNT_TYPEINFO },
  917. /* TYPEINFO_NAME */
  918. {
  919. /* count */ COLUMN_COUNT_TYPEINFO,
  920. /* autoIncrement */ FALSE,
  921. /* caseSensitive */ FALSE,
  922. /* displaySize */ 128,
  923. /* label */ (LPUSTR) "TYPENAME",
  924. /* length */ 128,
  925. /* money */ FALSE,
  926. /* name */ (LPUSTR) "TYPENAME",
  927. /* nullable */ SQL_NO_NULLS,
  928. /* ownerName */ (LPUSTR) "",
  929. /* precision */ 128,
  930. /* qualifierName */ (LPUSTR) "",
  931. /* scale */ 0,
  932. /* columnSearchable */ SQL_UNSEARCHABLE,
  933. /* tableName */ (LPUSTR) "",
  934. /* type */ SQL_VARCHAR,
  935. /* typeName */ (LPSTR) "VARCHAR",
  936. /* unsignedAttribute*/ TRUE,
  937. /* updatable */ SQL_ATTR_READONLY
  938. },
  939. /* TYPEINFO_TYPE */
  940. {
  941. /* count */ COLUMN_COUNT_TYPEINFO,
  942. /* autoIncrement */ FALSE,
  943. /* caseSensitive */ FALSE,
  944. /* displaySize */ 5,
  945. /* label */ (LPUSTR) "TYPE",
  946. /* length */ 2,
  947. /* money */ FALSE,
  948. /* name */ (LPUSTR) "TYPE",
  949. /* nullable */ SQL_NO_NULLS,
  950. /* ownerName */ (LPUSTR) "",
  951. /* precision */ 5,
  952. /* qualifierName */ (LPUSTR) "",
  953. /* scale */ 0,
  954. /* columnSearchable */ SQL_UNSEARCHABLE,
  955. /* tableName */ (LPUSTR) "",
  956. /* type */ SQL_SMALLINT,
  957. /* typeName */ (LPSTR) "SMALLINT",
  958. /* unsignedAttribute*/ TRUE,
  959. /* updatable */ SQL_ATTR_READONLY
  960. },
  961. /* TYPEINFO_PRECISION */
  962. {
  963. /* count */ COLUMN_COUNT_TYPEINFO,
  964. /* autoIncrement */ FALSE,
  965. /* caseSensitive */ FALSE,
  966. /* displaySize */ 10,
  967. /* label */ (LPUSTR) "PRECISION",
  968. /* length */ 4,
  969. /* money */ FALSE,
  970. /* name */ (LPUSTR) "PRECISION",
  971. /* nullable */ SQL_NULLABLE,
  972. /* ownerName */ (LPUSTR) "",
  973. /* precision */ 10,
  974. /* qualifierName */ (LPUSTR) "",
  975. /* scale */ 0,
  976. /* columnSearchable */ SQL_UNSEARCHABLE,
  977. /* tableName */ (LPUSTR) "",
  978. /* type */ SQL_INTEGER,
  979. /* typeName */ (LPSTR) "INTEGER",
  980. /* unsignedAttribute*/ TRUE,
  981. /* updatable */ SQL_ATTR_READONLY
  982. },
  983. /* TYPEINFO_PREFIX */
  984. {
  985. /* count */ COLUMN_COUNT_TYPEINFO,
  986. /* autoIncrement */ FALSE,
  987. /* caseSensitive */ FALSE,
  988. /* displaySize */ 128,
  989. /* label */ (LPUSTR) "PREFIX",
  990. /* length */ 128,
  991. /* money */ FALSE,
  992. /* name */ (LPUSTR) "PREFIX",
  993. /* nullable */ SQL_NULLABLE,
  994. /* ownerName */ (LPUSTR) "",
  995. /* precision */ 128,
  996. /* qualifierName */ (LPUSTR) "",
  997. /* scale */ 0,
  998. /* columnSearchable */ SQL_UNSEARCHABLE,
  999. /* tableName */ (LPUSTR) "",
  1000. /* type */ SQL_VARCHAR,
  1001. /* typeName */ (LPSTR) "VARCHAR",
  1002. /* unsignedAttribute*/ TRUE,
  1003. /* updatable */ SQL_ATTR_READONLY
  1004. },
  1005. /* TYPEINFO_SUFFIX */
  1006. {
  1007. /* count */ COLUMN_COUNT_TYPEINFO,
  1008. /* autoIncrement */ FALSE,
  1009. /* caseSensitive */ FALSE,
  1010. /* displaySize */ 128,
  1011. /* label */ (LPUSTR) "SUFFIX",
  1012. /* length */ 128,
  1013. /* money */ FALSE,
  1014. /* name */ (LPUSTR) "SUFFIX",
  1015. /* nullable */ SQL_NULLABLE,
  1016. /* ownerName */ (LPUSTR) "",
  1017. /* precision */ 128,
  1018. /* qualifierName */ (LPUSTR) "",
  1019. /* scale */ 0,
  1020. /* columnSearchable */ SQL_UNSEARCHABLE,
  1021. /* tableName */ (LPUSTR) "",
  1022. /* type */ SQL_VARCHAR,
  1023. /* typeName */ (LPSTR) "VARCHAR",
  1024. /* unsignedAttribute*/ TRUE,
  1025. /* updatable */ SQL_ATTR_READONLY
  1026. },
  1027. /* TYPEINFO_PARAMS */
  1028. {
  1029. /* count */ COLUMN_COUNT_TYPEINFO,
  1030. /* autoIncrement */ FALSE,
  1031. /* caseSensitive */ FALSE,
  1032. /* displaySize */ 128,
  1033. /* label */ (LPUSTR) "PARAMS",
  1034. /* length */ 128,
  1035. /* money */ FALSE,
  1036. /* name */ (LPUSTR) "PARAMS",
  1037. /* nullable */ SQL_NULLABLE,
  1038. /* ownerName */ (LPUSTR) "",
  1039. /* precision */ 128,
  1040. /* qualifierName */ (LPUSTR) "",
  1041. /* scale */ 0,
  1042. /* columnSearchable */ SQL_UNSEARCHABLE,
  1043. /* tableName */ (LPUSTR) "",
  1044. /* type */ SQL_VARCHAR,
  1045. /* typeName */ (LPSTR) "VARCHAR",
  1046. /* unsignedAttribute*/ TRUE,
  1047. /* updatable */ SQL_ATTR_READONLY
  1048. },
  1049. /* TYPEINFO_NULLABLE */
  1050. {
  1051. /* count */ COLUMN_COUNT_TYPEINFO,
  1052. /* autoIncrement */ FALSE,
  1053. /* caseSensitive */ FALSE,
  1054. /* displaySize */ 5,
  1055. /* label */ (LPUSTR) "NULLABLE",
  1056. /* length */ 2,
  1057. /* money */ FALSE,
  1058. /* name */ (LPUSTR) "NULLABLE",
  1059. /* nullable */ SQL_NO_NULLS,
  1060. /* ownerName */ (LPUSTR) "",
  1061. /* precision */ 5,
  1062. /* qualifierName */ (LPUSTR) "",
  1063. /* scale */ 0,
  1064. /* columnSearchable */ SQL_UNSEARCHABLE,
  1065. /* tableName */ (LPUSTR) "",
  1066. /* type */ SQL_SMALLINT,
  1067. /* typeName */ (LPSTR) "SMALLINT",
  1068. /* unsignedAttribute*/ TRUE,
  1069. /* updatable */ SQL_ATTR_READONLY
  1070. },
  1071. /* TYPEINFO_CASESENSITIVE */
  1072. {
  1073. /* count */ COLUMN_COUNT_TYPEINFO,
  1074. /* autoIncrement */ FALSE,
  1075. /* caseSensitive */ FALSE,
  1076. /* displaySize */ 5,
  1077. /* label */ (LPUSTR) "CASESENSITIVE",
  1078. /* length */ 2,
  1079. /* money */ FALSE,
  1080. /* name */ (LPUSTR) "CASESENSITIVE",
  1081. /* nullable */ SQL_NO_NULLS,
  1082. /* ownerName */ (LPUSTR) "",
  1083. /* precision */ 5,
  1084. /* qualifierName */ (LPUSTR) "",
  1085. /* scale */ 0,
  1086. /* columnSearchable */ SQL_UNSEARCHABLE,
  1087. /* tableName */ (LPUSTR) "",
  1088. /* type */ SQL_SMALLINT,
  1089. /* typeName */ (LPSTR) "SMALLINT",
  1090. /* unsignedAttribute*/ TRUE,
  1091. /* updatable */ SQL_ATTR_READONLY
  1092. },
  1093. /* TYPEINFO_SEARCHABLE */
  1094. {
  1095. /* count */ COLUMN_COUNT_TYPEINFO,
  1096. /* autoIncrement */ FALSE,
  1097. /* caseSensitive */ FALSE,
  1098. /* displaySize */ 5,
  1099. /* label */ (LPUSTR) "SEARCHABLE",
  1100. /* length */ 2,
  1101. /* money */ FALSE,
  1102. /* name */ (LPUSTR) "SEARCHABLE",
  1103. /* nullable */ SQL_NO_NULLS,
  1104. /* ownerName */ (LPUSTR) "",
  1105. /* precision */ 5,
  1106. /* qualifierName */ (LPUSTR) "",
  1107. /* scale */ 0,
  1108. /* columnSearchable */ SQL_UNSEARCHABLE,
  1109. /* tableName */ (LPUSTR) "",
  1110. /* type */ SQL_SMALLINT,
  1111. /* typeName */ (LPSTR) "SMALLINT",
  1112. /* unsignedAttribute*/ TRUE,
  1113. /* updatable */ SQL_ATTR_READONLY
  1114. },
  1115. /* TYPEINFO_UNSIGNED */
  1116. {
  1117. /* count */ COLUMN_COUNT_TYPEINFO,
  1118. /* autoIncrement */ FALSE,
  1119. /* caseSensitive */ FALSE,
  1120. /* displaySize */ 5,
  1121. /* label */ (LPUSTR) "UNSIGNED",
  1122. /* length */ 2,
  1123. /* money */ FALSE,
  1124. /* name */ (LPUSTR) "UNSIGNED",
  1125. /* nullable */ SQL_NULLABLE,
  1126. /* ownerName */ (LPUSTR) "",
  1127. /* precision */ 5,
  1128. /* qualifierName */ (LPUSTR) "",
  1129. /* scale */ 0,
  1130. /* columnSearchable */ SQL_UNSEARCHABLE,
  1131. /* tableName */ (LPUSTR) "",
  1132. /* type */ SQL_SMALLINT,
  1133. /* typeName */ (LPSTR) "SMALLINT",
  1134. /* unsignedAttribute*/ TRUE,
  1135. /* updatable */ SQL_ATTR_READONLY
  1136. },
  1137. /* TYPEINFO_MONEY */
  1138. {
  1139. /* count */ COLUMN_COUNT_TYPEINFO,
  1140. /* autoIncrement */ FALSE,
  1141. /* caseSensitive */ FALSE,
  1142. /* displaySize */ 5,
  1143. /* label */ (LPUSTR) "MONEY",
  1144. /* length */ 2,
  1145. /* money */ FALSE,
  1146. /* name */ (LPUSTR) "MONEY",
  1147. /* nullable */ SQL_NO_NULLS,
  1148. /* ownerName */ (LPUSTR) "",
  1149. /* precision */ 5,
  1150. /* qualifierName */ (LPUSTR) "",
  1151. /* scale */ 0,
  1152. /* columnSearchable */ SQL_UNSEARCHABLE,
  1153. /* tableName */ (LPUSTR) "",
  1154. /* type */ SQL_SMALLINT,
  1155. /* typeName */ (LPSTR) "SMALLINT",
  1156. /* unsignedAttribute*/ TRUE,
  1157. /* updatable */ SQL_ATTR_READONLY
  1158. },
  1159. /* TYPEINFO_AUTOINCREMENT */
  1160. {
  1161. /* count */ COLUMN_COUNT_TYPEINFO,
  1162. /* autoIncrement */ FALSE,
  1163. /* caseSensitive */ FALSE,
  1164. /* displaySize */ 5,
  1165. /* label */ (LPUSTR) "AUTOINCREMENT",
  1166. /* length */ 2,
  1167. /* money */ FALSE,
  1168. /* name */ (LPUSTR) "AUTOINCREMENT",
  1169. /* nullable */ SQL_NULLABLE,
  1170. /* ownerName */ (LPUSTR) "",
  1171. /* precision */ 5,
  1172. /* qualifierName */ (LPUSTR) "",
  1173. /* scale */ 0,
  1174. /* columnSearchable */ SQL_UNSEARCHABLE,
  1175. /* tableName */ (LPUSTR) "",
  1176. /* type */ SQL_SMALLINT,
  1177. /* typeName */ (LPSTR) "SMALLINT",
  1178. /* unsignedAttribute*/ TRUE,
  1179. /* updatable */ SQL_ATTR_READONLY
  1180. },
  1181. /* TYPEINFO_LOCALNAME */
  1182. {
  1183. /* count */ COLUMN_COUNT_TYPEINFO,
  1184. /* autoIncrement */ FALSE,
  1185. /* caseSensitive */ FALSE,
  1186. /* displaySize */ 128,
  1187. /* label */ (LPUSTR) "LOCALTYPENAME",
  1188. /* length */ 128,
  1189. /* money */ FALSE,
  1190. /* name */ (LPUSTR) "LOCALTYPENAME",
  1191. /* nullable */ SQL_NULLABLE,
  1192. /* ownerName */ (LPUSTR) "",
  1193. /* precision */ 128,
  1194. /* qualifierName */ (LPUSTR) "",
  1195. /* scale */ 0,
  1196. /* columnSearchable */ SQL_UNSEARCHABLE,
  1197. /* tableName */ (LPUSTR) "",
  1198. /* type */ SQL_VARCHAR,
  1199. /* typeName */ (LPSTR) "VARCHAR",
  1200. /* unsignedAttribute*/ TRUE,
  1201. /* updatable */ SQL_ATTR_READONLY
  1202. },
  1203. /* TYPEINFO_MINSCALE */
  1204. {
  1205. /* count */ COLUMN_COUNT_TYPEINFO,
  1206. /* autoIncrement */ FALSE,
  1207. /* caseSensitive */ FALSE,
  1208. /* displaySize */ 5,
  1209. /* label */ (LPUSTR) "MINSCALE",
  1210. /* length */ 2,
  1211. /* money */ FALSE,
  1212. /* name */ (LPUSTR) "MINSCALE",
  1213. /* nullable */ SQL_NULLABLE,
  1214. /* ownerName */ (LPUSTR) "",
  1215. /* precision */ 5,
  1216. /* qualifierName */ (LPUSTR) "",
  1217. /* scale */ 0,
  1218. /* columnSearchable */ SQL_UNSEARCHABLE,
  1219. /* tableName */ (LPUSTR) "",
  1220. /* type */ SQL_SMALLINT,
  1221. /* typeName */ (LPSTR) "SMALLINT",
  1222. /* unsignedAttribute*/ TRUE,
  1223. /* updatable */ SQL_ATTR_READONLY
  1224. },
  1225. /* TYPEINFO_MAXSCALE */
  1226. {
  1227. /* count */ COLUMN_COUNT_TYPEINFO,
  1228. /* autoIncrement */ FALSE,
  1229. /* caseSensitive */ FALSE,
  1230. /* displaySize */ 5,
  1231. /* label */ (LPUSTR) "MAXSCALE",
  1232. /* length */ 2,
  1233. /* money */ FALSE,
  1234. /* name */ (LPUSTR) "MAXSCALE",
  1235. /* nullable */ SQL_NULLABLE,
  1236. /* ownerName */ (LPUSTR) "",
  1237. /* precision */ 5,
  1238. /* qualifierName */ (LPUSTR) "",
  1239. /* scale */ 0,
  1240. /* columnSearchable */ SQL_UNSEARCHABLE,
  1241. /* tableName */ (LPUSTR) "",
  1242. /* type */ SQL_SMALLINT,
  1243. /* typeName */ (LPSTR) "SMALLINT",
  1244. /* unsignedAttribute*/ TRUE,
  1245. /* updatable */ SQL_ATTR_READONLY
  1246. }
  1247. };
  1248. COLATTRIBUTE colAttributePrimaryKeys[] = {
  1249. /* COUNT */
  1250. { COLUMN_COUNT_PRIMARYKEYS },
  1251. /* PRIMARYKEY_QUALIFIER */
  1252. {
  1253. /* count */ COLUMN_COUNT_PRIMARYKEYS,
  1254. /* autoIncrement */ FALSE,
  1255. /* caseSensitive */ -2,
  1256. /* displaySize */ 128,
  1257. /* label */ (LPUSTR) "QUALIFIERNAME",
  1258. /* length */ 128,
  1259. /* money */ FALSE,
  1260. /* name */ (LPUSTR) "QUALIFIERNAME",
  1261. /* nullable */ SQL_NULLABLE,
  1262. /* ownerName */ (LPUSTR) "",
  1263. /* precision */ 128,
  1264. /* qualifierName */ (LPUSTR) "",
  1265. /* scale */ 0,
  1266. /* columnSearchable */ SQL_UNSEARCHABLE,
  1267. /* tableName */ (LPUSTR) "",
  1268. /* type */ SQL_VARCHAR,
  1269. /* typeName */ (LPSTR) "VARCHAR",
  1270. /* unsignedAttribute*/ TRUE,
  1271. /* updatable */ SQL_ATTR_READONLY
  1272. },
  1273. /* PRIMARYKEY_OWNER */
  1274. {
  1275. /* count */ COLUMN_COUNT_PRIMARYKEYS,
  1276. /* autoIncrement */ FALSE,
  1277. /* caseSensitive */ -2,
  1278. /* displaySize */ 128,
  1279. /* label */ (LPUSTR) "OWNERNAME",
  1280. /* length */ 128,
  1281. /* money */ FALSE,
  1282. /* name */ (LPUSTR) "OWNERNAME",
  1283. /* nullable */ SQL_NULLABLE,
  1284. /* ownerName */ (LPUSTR) "",
  1285. /* precision */ 128,
  1286. /* qualifierName */ (LPUSTR) "",
  1287. /* scale */ 0,
  1288. /* columnSearchable */ SQL_UNSEARCHABLE,
  1289. /* tableName */ (LPUSTR) "",
  1290. /* type */ SQL_VARCHAR,
  1291. /* typeName */ (LPSTR) "VARCHAR",
  1292. /* unsignedAttribute*/ TRUE,
  1293. /* updatable */ SQL_ATTR_READONLY
  1294. },
  1295. /* PRIMARYKEY_TABLE */
  1296. {
  1297. /* count */ COLUMN_COUNT_PRIMARYKEYS,
  1298. /* autoIncrement */ FALSE,
  1299. /* caseSensitive */ -2,
  1300. /* displaySize */ 128,
  1301. /* label */ (LPUSTR) "TABLENAME",
  1302. /* length */ 128,
  1303. /* money */ FALSE,
  1304. /* name */ (LPUSTR) "TABLENAME",
  1305. /* nullable */ SQL_NO_NULLS,
  1306. /* ownerName */ (LPUSTR) "",
  1307. /* precision */ 128,
  1308. /* qualifierName */ (LPUSTR) "",
  1309. /* scale */ 0,
  1310. /* columnSearchable */ SQL_UNSEARCHABLE,
  1311. /* tableName */ (LPUSTR) "",
  1312. /* type */ SQL_VARCHAR,
  1313. /* typeName */ (LPSTR) "VARCHAR",
  1314. /* unsignedAttribute*/ TRUE,
  1315. /* updatable */ SQL_ATTR_READONLY
  1316. },
  1317. /* PRIMARYKEY_COLUMN */
  1318. {
  1319. /* count */ COLUMN_COUNT_PRIMARYKEYS,
  1320. /* autoIncrement */ FALSE,
  1321. /* caseSensitive */ -2,
  1322. /* displaySize */ 128,
  1323. /* label */ (LPUSTR) "COLUMNNAME",
  1324. /* length */ 128,
  1325. /* money */ FALSE,
  1326. /* name */ (LPUSTR) "COLUMNNAME",
  1327. /* nullable */ SQL_NO_NULLS,
  1328. /* ownerName */ (LPUSTR) "",
  1329. /* precision */ 128,
  1330. /* qualifierName */ (LPUSTR) "",
  1331. /* scale */ 0,
  1332. /* columnSearchable */ SQL_UNSEARCHABLE,
  1333. /* tableName */ (LPUSTR) "",
  1334. /* type */ SQL_VARCHAR,
  1335. /* typeName */ (LPSTR) "VARCHAR",
  1336. /* unsignedAttribute*/ TRUE,
  1337. /* updatable */ SQL_ATTR_READONLY
  1338. },
  1339. /* PRIMARYKEY_KEYSEQ */
  1340. {
  1341. /* count */ COLUMN_COUNT_PRIMARYKEYS,
  1342. /* autoIncrement */ FALSE,
  1343. /* caseSensitive */ FALSE,
  1344. /* displaySize */ 5,
  1345. /* label */ (LPUSTR) "KEYSEQ",
  1346. /* length */ 2,
  1347. /* money */ FALSE,
  1348. /* name */ (LPUSTR) "KEYSEQ",
  1349. /* nullable */ SQL_NO_NULLS,
  1350. /* ownerName */ (LPUSTR) "",
  1351. /* precision */ 5,
  1352. /* qualifierName */ (LPUSTR) "",
  1353. /* scale */ 0,
  1354. /* columnSearchable */ SQL_UNSEARCHABLE,
  1355. /* tableName */ (LPUSTR) "",
  1356. /* type */ SQL_SMALLINT,
  1357. /* typeName */ (LPSTR) "SMALLINT",
  1358. /* unsignedAttribute*/ TRUE,
  1359. /* updatable */ SQL_ATTR_READONLY
  1360. },
  1361. /* PRIMARYKEY_NAME */
  1362. {
  1363. /* count */ COLUMN_COUNT_PRIMARYKEYS,
  1364. /* autoIncrement */ FALSE,
  1365. /* caseSensitive */ -2,
  1366. /* displaySize */ 254,
  1367. /* label */ (LPUSTR) "PKNAME",
  1368. /* length */ 254,
  1369. /* money */ FALSE,
  1370. /* name */ (LPUSTR) "PKNAME",
  1371. /* nullable */ SQL_NULLABLE,
  1372. /* ownerName */ (LPUSTR) "",
  1373. /* precision */ 254,
  1374. /* qualifierName */ (LPUSTR) "",
  1375. /* scale */ 0,
  1376. /* columnSearchable */ SQL_UNSEARCHABLE,
  1377. /* tableName */ (LPUSTR) "",
  1378. /* type */ SQL_VARCHAR,
  1379. /* typeName */ (LPSTR) "VARCHAR",
  1380. /* unsignedAttribute*/ TRUE,
  1381. /* updatable */ SQL_ATTR_READONLY
  1382. }
  1383. };
  1384. COLATTRIBUTE colAttributeForeignKeys[] = {
  1385. /* COUNT */
  1386. { COLUMN_COUNT_FOREIGNKEYS },
  1387. /* FOREIGNKEY_PKQUALIFIER */
  1388. {
  1389. /* count */ COLUMN_COUNT_FOREIGNKEYS,
  1390. /* autoIncrement */ FALSE,
  1391. /* caseSensitive */ -2,
  1392. /* displaySize */ 128,
  1393. /* label */ (LPUSTR) "PKQUALIFIERNAME",
  1394. /* length */ 128,
  1395. /* money */ FALSE,
  1396. /* name */ (LPUSTR) "PKQUALIFIERNAME",
  1397. /* nullable */ SQL_NULLABLE,
  1398. /* ownerName */ (LPUSTR) "",
  1399. /* precision */ 128,
  1400. /* qualifierName */ (LPUSTR) "",
  1401. /* scale */ 0,
  1402. /* columnSearchable */ SQL_UNSEARCHABLE,
  1403. /* tableName */ (LPUSTR) "",
  1404. /* type */ SQL_VARCHAR,
  1405. /* typeName */ (LPSTR) "VARCHAR",
  1406. /* unsignedAttribute*/ TRUE,
  1407. /* updatable */ SQL_ATTR_READONLY
  1408. },
  1409. /* FOREIGNKEY_PKOWNER */
  1410. {
  1411. /* count */ COLUMN_COUNT_FOREIGNKEYS,
  1412. /* autoIncrement */ FALSE,
  1413. /* caseSensitive */ -2,
  1414. /* displaySize */ 128,
  1415. /* label */ (LPUSTR) "PKOWNERNAME",
  1416. /* length */ 128,
  1417. /* money */ FALSE,
  1418. /* name */ (LPUSTR) "PKOWNERNAME",
  1419. /* nullable */ SQL_NULLABLE,
  1420. /* ownerName */ (LPUSTR) "",
  1421. /* precision */ 128,
  1422. /* qualifierName */ (LPUSTR) "",
  1423. /* scale */ 0,
  1424. /* columnSearchable */ SQL_UNSEARCHABLE,
  1425. /* tableName */ (LPUSTR) "",
  1426. /* type */ SQL_VARCHAR,
  1427. /* typeName */ (LPSTR) "VARCHAR",
  1428. /* unsignedAttribute*/ TRUE,
  1429. /* updatable */ SQL_ATTR_READONLY
  1430. },
  1431. /* FOREIGNKEY_PKTABLE */
  1432. {
  1433. /* count */ COLUMN_COUNT_FOREIGNKEYS,
  1434. /* autoIncrement */ FALSE,
  1435. /* caseSensitive */ -2,
  1436. /* displaySize */ 128,
  1437. /* label */ (LPUSTR) "PKTABLENAME",
  1438. /* length */ 128,
  1439. /* money */ FALSE,
  1440. /* name */ (LPUSTR) "PKTABLENAME",
  1441. /* nullable */ SQL_NO_NULLS,
  1442. /* ownerName */ (LPUSTR) "",
  1443. /* precision */ 128,
  1444. /* qualifierName */ (LPUSTR) "",
  1445. /* scale */ 0,
  1446. /* columnSearchable */ SQL_UNSEARCHABLE,
  1447. /* tableName */ (LPUSTR) "",
  1448. /* type */ SQL_VARCHAR,
  1449. /* typeName */ (LPSTR) "VARCHAR",
  1450. /* unsignedAttribute*/ TRUE,
  1451. /* updatable */ SQL_ATTR_READONLY
  1452. },
  1453. /* FOREIGNKEY_PKCOLUMN */
  1454. {
  1455. /* count */ COLUMN_COUNT_FOREIGNKEYS,
  1456. /* autoIncrement */ FALSE,
  1457. /* caseSensitive */ -2,
  1458. /* displaySize */ 128,
  1459. /* label */ (LPUSTR) "PKCOLUMNNAME",
  1460. /* length */ 128,
  1461. /* money */ FALSE,
  1462. /* name */ (LPUSTR) "PKCOLUMNNAME",
  1463. /* nullable */ SQL_NO_NULLS,
  1464. /* ownerName */ (LPUSTR) "",
  1465. /* precision */ 128,
  1466. /* qualifierName */ (LPUSTR) "",
  1467. /* scale */ 0,
  1468. /* columnSearchable */ SQL_UNSEARCHABLE,
  1469. /* tableName */ (LPUSTR) "",
  1470. /* type */ SQL_VARCHAR,
  1471. /* typeName */ (LPSTR) "VARCHAR",
  1472. /* unsignedAttribute*/ TRUE,
  1473. /* updatable */ SQL_ATTR_READONLY
  1474. },
  1475. /* FOREIGNKEY_FKQUALIFIER */
  1476. {
  1477. /* count */ COLUMN_COUNT_FOREIGNKEYS,
  1478. /* autoIncrement */ FALSE,
  1479. /* caseSensitive */ -2,
  1480. /* displaySize */ 128,
  1481. /* label */ (LPUSTR) "FKQUALIFIERNAME",
  1482. /* length */ 128,
  1483. /* money */ FALSE,
  1484. /* name */ (LPUSTR) "FKQUALIFIERNAME",
  1485. /* nullable */ SQL_NULLABLE,
  1486. /* ownerName */ (LPUSTR) "",
  1487. /* precision */ 128,
  1488. /* qualifierName */ (LPUSTR) "",
  1489. /* scale */ 0,
  1490. /* columnSearchable */ SQL_UNSEARCHABLE,
  1491. /* tableName */ (LPUSTR) "",
  1492. /* type */ SQL_VARCHAR,
  1493. /* typeName */ (LPSTR) "VARCHAR",
  1494. /* unsignedAttribute*/ TRUE,
  1495. /* updatable */ SQL_ATTR_READONLY
  1496. },
  1497. /* FOREIGNKEY_FKOWNER */
  1498. {
  1499. /* count */ COLUMN_COUNT_FOREIGNKEYS,
  1500. /* autoIncrement */ FALSE,
  1501. /* caseSensitive */ -2,
  1502. /* displaySize */ 128,
  1503. /* label */ (LPUSTR) "FKOWNERNAME",
  1504. /* length */ 128,
  1505. /* money */ FALSE,
  1506. /* name */ (LPUSTR) "FKOWNERNAME",
  1507. /* nullable */ SQL_NULLABLE,
  1508. /* ownerName */ (LPUSTR) "",
  1509. /* precision */ 128,
  1510. /* qualifierName */ (LPUSTR) "",
  1511. /* scale */ 0,
  1512. /* columnSearchable */ SQL_UNSEARCHABLE,
  1513. /* tableName */ (LPUSTR) "",
  1514. /* type */ SQL_VARCHAR,
  1515. /* typeName */ (LPSTR) "VARCHAR",
  1516. /* unsignedAttribute*/ TRUE,
  1517. /* updatable */ SQL_ATTR_READONLY
  1518. },
  1519. /* FOREIGNKEY_FKTABLE */
  1520. {
  1521. /* count */ COLUMN_COUNT_FOREIGNKEYS,
  1522. /* autoIncrement */ FALSE,
  1523. /* caseSensitive */ -2,
  1524. /* displaySize */ 128,
  1525. /* label */ (LPUSTR) "FKTABLENAME",
  1526. /* length */ 128,
  1527. /* money */ FALSE,
  1528. /* name */ (LPUSTR) "FKTABLENAME",
  1529. /* nullable */ SQL_NO_NULLS,
  1530. /* ownerName */ (LPUSTR) "",
  1531. /* precision */ 128,
  1532. /* qualifierName */ (LPUSTR) "",
  1533. /* scale */ 0,
  1534. /* columnSearchable */ SQL_UNSEARCHABLE,
  1535. /* tableName */ (LPUSTR) "",
  1536. /* type */ SQL_VARCHAR,
  1537. /* typeName */ (LPSTR) "VARCHAR",
  1538. /* unsignedAttribute*/ TRUE,
  1539. /* updatable */ SQL_ATTR_READONLY
  1540. },
  1541. /* FOREIGNKEY_FKCOLUMN */
  1542. {
  1543. /* count */ COLUMN_COUNT_FOREIGNKEYS,
  1544. /* autoIncrement */ FALSE,
  1545. /* caseSensitive */ -2,
  1546. /* displaySize */ 128,
  1547. /* label */ (LPUSTR) "FKCOLUMNNAME",
  1548. /* length */ 128,
  1549. /* money */ FALSE,
  1550. /* name */ (LPUSTR) "FKCOLUMNNAME",
  1551. /* nullable */ SQL_NO_NULLS,
  1552. /* ownerName */ (LPUSTR) "",
  1553. /* precision */ 128,
  1554. /* qualifierName */ (LPUSTR) "",
  1555. /* scale */ 0,
  1556. /* columnSearchable */ SQL_UNSEARCHABLE,
  1557. /* tableName */ (LPUSTR) "",
  1558. /* type */ SQL_VARCHAR,
  1559. /* typeName */ (LPSTR) "VARCHAR",
  1560. /* unsignedAttribute*/ TRUE,
  1561. /* updatable */ SQL_ATTR_READONLY
  1562. },
  1563. /* FOREIGNKEY_KEYSEQ */
  1564. {
  1565. /* count */ COLUMN_COUNT_FOREIGNKEYS,
  1566. /* autoIncrement */ FALSE,
  1567. /* caseSensitive */ FALSE,
  1568. /* displaySize */ 5,
  1569. /* label */ (LPUSTR) "KEYSEQ",
  1570. /* length */ 2,
  1571. /* money */ FALSE,
  1572. /* name */ (LPUSTR) "KEYSEQ",
  1573. /* nullable */ SQL_NO_NULLS,
  1574. /* ownerName */ (LPUSTR) "",
  1575. /* precision */ 5,
  1576. /* qualifierName */ (LPUSTR) "",
  1577. /* scale */ 0,
  1578. /* columnSearchable */ SQL_UNSEARCHABLE,
  1579. /* tableName */ (LPUSTR) "",
  1580. /* type */ SQL_SMALLINT,
  1581. /* typeName */ (LPSTR) "SMALLINT",
  1582. /* unsignedAttribute*/ TRUE,
  1583. /* updatable */ SQL_ATTR_READONLY
  1584. },
  1585. /* FOREIGNKEY_UPDATERULE */
  1586. {
  1587. /* count */ COLUMN_COUNT_FOREIGNKEYS,
  1588. /* autoIncrement */ FALSE,
  1589. /* caseSensitive */ FALSE,
  1590. /* displaySize */ 5,
  1591. /* label */ (LPUSTR) "UPDATERULE",
  1592. /* length */ 2,
  1593. /* money */ FALSE,
  1594. /* name */ (LPUSTR) "UPDATERULE",
  1595. /* nullable */ SQL_NULLABLE,
  1596. /* ownerName */ (LPUSTR) "",
  1597. /* precision */ 5,
  1598. /* qualifierName */ (LPUSTR) "",
  1599. /* scale */ 0,
  1600. /* columnSearchable */ SQL_UNSEARCHABLE,
  1601. /* tableName */ (LPUSTR) "",
  1602. /* type */ SQL_SMALLINT,
  1603. /* typeName */ (LPSTR) "SMALLINT",
  1604. /* unsignedAttribute*/ TRUE,
  1605. /* updatable */ SQL_ATTR_READONLY
  1606. },
  1607. /* FOREIGNKEY_DELETERULE */
  1608. {
  1609. /* count */ COLUMN_COUNT_FOREIGNKEYS,
  1610. /* autoIncrement */ FALSE,
  1611. /* caseSensitive */ FALSE,
  1612. /* displaySize */ 5,
  1613. /* label */ (LPUSTR) "DELETERULE",
  1614. /* length */ 2,
  1615. /* money */ FALSE,
  1616. /* name */ (LPUSTR) "DELETERULE",
  1617. /* nullable */ SQL_NULLABLE,
  1618. /* ownerName */ (LPUSTR) "",
  1619. /* precision */ 5,
  1620. /* qualifierName */ (LPUSTR) "",
  1621. /* scale */ 0,
  1622. /* columnSearchable */ SQL_UNSEARCHABLE,
  1623. /* tableName */ (LPUSTR) "",
  1624. /* type */ SQL_SMALLINT,
  1625. /* typeName */ (LPSTR) "SMALLINT",
  1626. /* unsignedAttribute*/ TRUE,
  1627. /* updatable */ SQL_ATTR_READONLY
  1628. },
  1629. /* FOREIGNKEY_FKNAME */
  1630. {
  1631. /* count */ COLUMN_COUNT_FOREIGNKEYS,
  1632. /* autoIncrement */ FALSE,
  1633. /* caseSensitive */ -2,
  1634. /* displaySize */ 254,
  1635. /* label */ (LPUSTR) "FKNAME",
  1636. /* length */ 254,
  1637. /* money */ FALSE,
  1638. /* name */ (LPUSTR) "FKNAME",
  1639. /* nullable */ SQL_NULLABLE,
  1640. /* ownerName */ (LPUSTR) "",
  1641. /* precision */ 254,
  1642. /* qualifierName */ (LPUSTR) "",
  1643. /* scale */ 0,
  1644. /* columnSearchable */ SQL_UNSEARCHABLE,
  1645. /* tableName */ (LPUSTR) "",
  1646. /* type */ SQL_VARCHAR,
  1647. /* typeName */ (LPSTR) "VARCHAR",
  1648. /* unsignedAttribute*/ TRUE,
  1649. /* updatable */ SQL_ATTR_READONLY
  1650. },
  1651. /* FOREIGNKEY_PKNAME */
  1652. {
  1653. /* count */ COLUMN_COUNT_FOREIGNKEYS,
  1654. /* autoIncrement */ FALSE,
  1655. /* caseSensitive */ -2,
  1656. /* displaySize */ 254,
  1657. /* label */ (LPUSTR) "PKNAME",
  1658. /* length */ 254,
  1659. /* money */ FALSE,
  1660. /* name */ (LPUSTR) "PKNAME",
  1661. /* nullable */ SQL_NULLABLE,
  1662. /* ownerName */ (LPUSTR) "",
  1663. /* precision */ 254,
  1664. /* qualifierName */ (LPUSTR) "",
  1665. /* scale */ 0,
  1666. /* columnSearchable */ SQL_UNSEARCHABLE,
  1667. /* tableName */ (LPUSTR) "",
  1668. /* type */ SQL_VARCHAR,
  1669. /* typeName */ (LPSTR) "VARCHAR",
  1670. /* unsignedAttribute*/ TRUE,
  1671. /* updatable */ SQL_ATTR_READONLY
  1672. }
  1673. };
  1674. COLATTRIBUTE FAR *colAttributes[8] = {
  1675. /* STMT_TYPE_NONE */ NULL,
  1676. /* STMT_TYPE_TABLES */ colAttributeTables,
  1677. /* STMT_TYPE_COLUMNS */ colAttributeColumns,
  1678. /* STMT_TYPE_STATISTICS */ colAttributeStatistics,
  1679. /* STMT_TYPE_SPECIALCOLUMNS */ colAttributeSpecialColumns,
  1680. /* STMT_TYPE_TYPEINFO */ colAttributeTypeInfo,
  1681. /* STMT_TYPE_PRIMARYKEYS */ colAttributePrimaryKeys,
  1682. /* STMT_TYPE_FOREIGNKEYS */ colAttributeForeignKeys
  1683. };
  1684. /***************************************************************************/