source: project/release/3/mysql/trunk/eggdoc-mysql.scm @ 7930

Last change on this file since 7930 was 7930, checked in by Kon Lovett, 12 years ago

1.3 release. Moved aux C code into .scm file. Added mysql-options conn arg helper.

  • Property svn:executable set to *
File size: 28.3 KB
Line 
1#!/usr/local/bin/csi -script
2; vim: ts=2:sw=2:et:
3; eggdoc-mysql.scm,v 1.8 2005/08/05 00:27:02 tbutzon Exp
4
5(use eggdoc)
6
7(define license-text #<<END
8Copyright (c) 2005 Toby Butzon.
9
10Permission is hereby granted, free of charge, to any person obtaining a
11copy of this software and associated documentation files (the "Software"),
12to deal in the Software without restriction, including without limitation
13the rights to use, copy, modify, merge, publish, distribute, sublicense,
14and/or sell copies of the Software, and to permit persons to whom the
15Software is furnished to do so, subject to the following conditions:
16
17The above copyright notice and this permission notice shall be included
18in all copies or substantial portions of the Software.
19
20THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
23THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
24OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
25ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26OTHER DEALINGS IN THE SOFTWARE.
27END
28)
29
30(define ex1-text #<<END
31(use mysql)
32
33(let [(db (mysql-connect host: "mysql.example.com" user: "example"
34                         passwd: "secret"))]
35  (mysql-query db "SHOW DATABASES")
36  (do [(row (mysql-fetch-row db) (mysql-fetch-row db))]
37      [(not row)]
38    (display (conc "Row " idx ": " (row "Database") "\n")))
39  (mysql-close db))
40END
41)
42
43(define ex2-text #<<END
44(use mysql)
45
46(let [(db (mysql-connect host: "mysql.example.com" user: "example"
47                         passwd: "secret"))]
48  (mysql-query-foreach db "SHOW DATABASES"
49                       (lambda (row idx)
50                         (display (conc "Row " idx ": " (row "Database") "\n"))))
51  (mysql-close db))
52END
53)
54
55(define doc `(
56  (eggdoc:begin
57    (name "mysql")
58    (description (p "MySQL bindings for Chicken."))
59    (author (url "mailto:toby@butzon.com" "Toby Butzon"))
60    (history
61      (version "1.3" "Additional functions [Kon Lovett].")
62      (version "1.2" "Fix for ticket #297 [Mario Domenech Goulart].")
63      (version "1.1" "Cross-platform compilation fixes, et al.")
64      (version "1.0" "Initial release") )
65    (requires (span "MySQL client library (" (tt "-lmysqlclient") ")"))
66    (usage)
67    (download "mysql.egg")
68
69    (documentation
70
71      (p
72        "The MySQL egg provides (most of) the functions offered by the MySQL C "
73        "API (the " (tt "foreign-mysql-*") " functions). It also maps those to a "
74        "set of slightly more convenient Scheme functions (the " (tt "mysql-*") " "
75        "functions). Finally, a few extra functions are provided for easy of use.")
76
77      (p
78        "Only the most often used MySQL functions are described in this "
79        "document. If you really want to see the full listing, consult the "
80        (url "mysql-mole.html" "mole documentation") ".")
81
82      (p
83        "Please send bug reports and suggestions to "
84        (url "mailto:toby@butzon.com" "toby@butzon.com") ".")
85
86      (subsection "Exceptions"
87
88        (p
89          "Conditions of the kind " (code "(exn mysql)") " are signaled "
90          "for error conditions.")
91        (symbol-table "Properties"
92          (describe location "Where the error occured - usually a procedure name.")
93          (describe arguments "Values that contributed to the error.")
94          (describe message "Error message"))
95      )
96
97      (subsection "Connections"
98
99        (procedure "(mysql-connect [KEYWORDS])"
100          (p
101            "Connect to a MySQL server.")
102          (p
103            "Returns a MySQL connection object suitable for passing to "
104            "the other MySQL functions. This object is referred to as "
105            (tt "CONN") " when passed by all the other MySQL functions. "
106            "Signals an exception when the connection fails.")
107          (p
108            "Any number of the following " (tt "KEYWORDS") " may be included:"
109            (ul
110              (li (tt "host"))
111              (li (tt "user"))
112              (li (tt "passwd"))
113              (li (tt "db"))
114              (li (tt "port"))
115              (li (tt "unix-socket"))
116              (li (tt "client-flag"))
117              (li (tt "ssl") " - A " (code "mysql-ssl") " record object.")
118              (li (tt "options") " - An association list of " (code "(<mysql-option> . <object>) ".")))
119          (p
120            "Note that default values are available for all of these "
121            "arguments. (Consult the "
122            (url "http://dev.mysql.com/doc/mysql/en/c.html" "MySQL C API") " "
123            "for details on how these defaults are determined.)") )
124
125        (procedure "(mysql-connection? OBJECT)"
126          (p
127            "Is the " (tt "OBJECT") " a " (code "mysql-connection") " "
128            "record? Referred to as a " (tt "CONN").") )
129
130        (procedure "(mysql-close CONN)"
131          (p
132            "Closes the connection to " (tt "CONN") ". This frees any remaining "
133            "MySQL resources from memory, but invalidates the MySQL connection "
134            "object (" (tt "CONN") ") so that it may no longer be used.") )
135
136        (subsubsection "Connect Parameter Constructors"
137
138          (procedure "(make-mysql-options OPTION-FLAG OPTION-VALUE ...)"
139            (p
140              "Returns an object suitable as the " (tt "options") " parameter for "
141              (code "mysql-connect") ".")
142            (p
143              "The type of the " (tt "OPTION-VALUE") " is dependent on the "
144              (tt "OPTION-FLAG") ".") )
145
146          (procedure "(make-mysql-ssl [KEYWORD ...])"
147            (p
148              "Returns a " (code "mysql-ssl") " record.")
149            (p
150              "Any number of the following " (tt "KEYWORD ...") " may be included:"
151              (ul
152                (li (tt "key") " - pathname of key file.")
153                (li (tt "certificate") " - pathname of certificate file.")
154                (li (tt "certificate-authority") " - pathname of certificate authority file.")
155                (li (tt "trusted-certificates") " - pathname of trusted certificates directory.")
156                (li (tt "ciphers")
157                  " - See " (url "http://www.openssl.org/docs/apps/ciphers.html"
158                                 "OpenSSL Ciphers Man Page")))) )
159
160          (procedure "(mysql-ssl? OBJECT)"
161            (p
162              "Is the " (tt "OBJECT") " an " (code "mysql-ssl") " record?") )
163
164          (procedure "(mysql-ssl-key-pathname MYSQL-SSL)"
165            (p
166              "Returns a " (code "string") ".") )
167
168          (procedure "(mysql-ssl-certificate-pathname MYSQL-SSL)"
169            (p
170              "Returns a " (code "string") ".") )
171
172          (procedure "(mysql-ssl-certificate-authority-pathname MYSQL-SSL)"
173            (p
174              "Returns a " (code "string") ".") )
175
176          (procedure "(mysql-ssl-trusted-certificates-pathname MYSQL-SSL)"
177            (p
178              "Returns a " (code "string") ".") )
179
180          (procedure "(mysql-ssl-ciphers MYSQL-SSL)"
181            (p
182              "Returns a " (code "string") ".") )
183        )
184      )
185
186      (subsection "Basic Query Operations"
187
188        (procedure "(mysql-query CONN SQL-STRING)"
189          (p
190            "Executes " (tt "SQL-STRING") " on the MySQL server "
191            "and stores the result in memory. Signals an exception "
192            "if the query fails.") )
193
194        (procedure "(mysql-fetch-row CONN)"
195          (p
196            "Fetches a row from the result set returned by the "
197            "most recent call to " (tt "mysql-query") ". If the "
198            "last query failed, or if there are no more rows left "
199            "in the result set, returns " (tt "#f") "; otherwise "
200            "returns a row object.")
201          (a (@ (" name='rowobj'")))
202          (p
203            "A row object is defined as a function that "
204            "takes a single argument. If the argument is a number, "
205            "the function returns the value of the field for which "
206            "that number is the index, or " (tt "#f") " if the "
207            "index is out of range. Otherwise, the argument must "
208            "be a symbol or string, in which case the function returns "
209            "the value of the field for which that string (or symbol "
210            "converted into a string) is the field/column name. If "
211            "no such field exists, returns " (tt "#f") ".") )
212
213        (procedure "(mysql-field-count CONN)"
214          (p
215            "Returns the number of columns for the most recent query.") )
216
217        (procedure "(mysql-fetch-lengths CONN)"
218          (p
219            "Returns a " (code "u32vector") " of the lengths of the columns "
220            "of the current row.") )
221
222        (procedure "(mysql-rewind CONN)"
223          (p
224            "Rewinds the result set; that is, resets the pointer used by "
225            (tt "mysql-fetch-row") " so that the next call to it will "
226            "return the first row of the result set. If there is no current "
227            "result set, does nothing.") )
228
229        (procedure "(mysql-num-rows CONN)"
230          (p
231            "Returns the number of rows in the current result set. "
232            "If no result set exists, returns " (tt "#f") ".") )
233
234        (procedure "(mysql-num-fields CONN)"
235          (p
236            "Returns the number of fields in the current result set. "
237            "If no result set exists, returns " (tt "#f") ".") )
238
239        (procedure "(mysql-affected-rows CONN)"
240          (p
241            "Returns a " (code "number") ".") )
242      )
243
244      (subsection "Query Row Mapping"
245
246        (procedure "(mysql-row-fold CONN PROC INIT)"
247          (p
248            "Iterates over the entire result set (regardless of any rows that may "
249            "have already been returned by " (tt "mysql-fetch-row") "), calling "
250            (tt "PROC") " on each row.")
251          (p
252            "Returns the final accumulated value.")
253          (p
254            (tt "PROC") " must take three arguments: the row (as "
255            (url "#rowobj" "described") ") for " (tt "mysql-fetch-row") ", "
256            "the index of that row in the result set, starting with " (tt "1") " "
257            "and ending with " (tt "(mysql-num-rows CONN)") ", and the "
258            "current accumulated value (initially " (tt "INIT") ").")
259          (p
260            (tt "PROC") " must return a value.") )
261
262        (procedure "(mysql-row-for-each CONN PROC)"
263          (p
264            "Iterates over the entire result set (regardless of any rows that "
265            "may have already been returned by " (tt "mysql-fetch-row") "), calling "
266            (tt "PROC") " on each row.")
267          (p
268            (tt "PROC") " must take three arguments: the row (as "
269            (url "#rowobj" "described") ") for " (tt "mysql-fetch-row")
270            ", and the index of that row in the result set, starting with "
271            (tt "1") " and ending with " (tt "(mysql-num-rows CONN)") ".") )
272
273        (procedure "(mysql-row-map CONN PROC)"
274          (p
275            "Iterates over the entire result set (regardless of any rows that "
276            "may have already been returned by " (tt "mysql-fetch-row") "), "
277            "calling " (tt "PROC") " on each row.")
278          (p
279            "Returns the list of results of the " (tt "PROC") " invocations.")
280          (p
281            (tt "PROC") " must take three arguments: the row (as "
282            (url "#rowobj" "described") ") for " (tt "mysql-fetch-row")
283            ", and the index of that row in the result set, starting "
284            "with " (tt "1") " and ending with " (tt "(mysql-num-rows CONN)") ".")
285          (p
286            (tt "PROC") " must return a value.") )
287
288        (procedure "(mysql-query-fold CONN QUERY PROC INIT)"
289          (p
290            "Combines " (tt "mysql-query") " and " (tt "mysql-row-fold") ".") )
291
292        (procedure "(mysql-query-for-each CONN QUERY PROC)"
293          (p
294            "Combines " (tt "mysql-query") " and " (tt "mysql-row-for-each") ".") )
295
296        (procedure "(mysql-query-map CONN QUERY PROC)"
297          (p
298            "Combines " (tt "mysql-query") " and " (tt "mysql-row-map") ".") )
299
300        (procedure "(mysql-foreach-row CONN BODY)"
301          (p
302            "Synonym for " (code "mysql-row-for-each") ".") )
303
304        (procedure "(mysql-query-foreach CONN QUERY BODY)"
305          (p
306            "Synonym for " (code "mysql-query-for-each") ".") )
307      )
308
309      (subsection "MYSQL_FIELD Access"
310
311        (procedure "(mysql-fetch-field CONN)"
312          (p
313            "Returns a " (code "mysql-field-ptr") " to the next field, or " (code "#f") ".") )
314
315        (procedure "(mysql-fetch-fields CONN)
316          (p
317            "Returns a " (code "mysql-field-ptr") " to the first field, or " (code "#f") ".") )
318
319        (procedure "(mysql-fetch-field-direct CONN FIELD-NUMBER)
320          (p
321            "Returns a " (code "mysql-field-ptr") " to a specific field, or " (code "#f") ".") )
322
323        (procedure "(mysql-field-slots MYSQL-FIELD-POINTER MYSQL-FIELD-GETTER ...)"
324          (p
325            "Returns a list of MYSQL_FIELD entry values, "
326            "from each " (tt "MYSQL-FIELD-GETTER") ".")
327          (p
328            (tt "MYSQL-FIELD-POINTER") " is a pointer to a MYSQL_FIELD, or "
329            (code "#f") ". "
330            (tt "MYSQL-FIELD-GETTER") " is a " (code "mysql-field-*") " "
331            "reference function.") )
332
333        (procedure "(mysql-fetch-field-slot-direct CONN FIELD-NUMBER MYSQL-FIELD-GETTER)"
334          (p
335            "Returns a field slot value. "
336            "Combines " (code "mysql-fetch-field-direct") " and "
337            (code "mysql-field-slots") ".") )
338
339        (procedure "(mysql-fetch-field-slot CONN MYSQL-FIELD-GETTER)"
340          (p
341            "Returns a field slot value. "
342            "Combines " (code "mysql-fetch-field") " and "
343            (code "mysql-field-slots") ".") )
344
345        (procedure "(mysql-fetch-field-slots-direct CONN FIELD-NUMBER MYSQL-FIELD-GETTER ...)"
346          (p
347            "Returns a list of field slot values. "
348            "Combines " (code "mysql-fetch-field-direct") " and "
349            (code "mysql-field-slots") ".") )
350
351        (procedure "(mysql-fetch-field-slots CONN MYSQL-FIELD-GETTER ...)"
352          (p
353            "Returns a list of field slot values. "
354            "Combines " (code "mysql-fetch-field") " and "
355            (code "mysql-field-slots") ".") )
356
357        (procedure "(mysql-field-org-name MYSQL-FIELD-POINTER)"
358          (p
359            "Returns " (code "string") ".") )
360
361        (procedure "(mysql-field-name MYSQL-FIELD-POINTER)"
362          (p
363            "Returns " (code "string") ".") )
364
365        (procedure "(mysql-field-org-table MYSQL-FIELD-POINTER)"
366          (p
367            "Returns " (code "string") ".") )
368
369        (procedure "(mysql-field-org-table MYSQL-FIELD-POINTER)"
370          (p
371            "Returns " (code "string") ".") )
372
373        (procedure "(mysql-field-db MYSQL-FIELD-POINTER)"
374          (p
375            "Returns " (code "string") ".") )
376
377        (procedure "(mysql-field-catalog MYSQL-FIELD-POINTER)"
378          (p
379            "Returns " (code "string") ".") )
380
381        (procedure "(mysql-field-def MYSQL-FIELD-POINTER)"
382          (p
383            "Returns " (code "string") ".") )
384
385        (procedure "(mysql-field-table MYSQL-FIELD-POINTER)"
386          (p
387            "Returns " (code "string") ".") )
388
389        (procedure "(mysql-field-type MYSQL-FIELD-POINTER)"
390          (p
391            "Returns " (code "enum enum_field_types value") ".") )
392
393        (procedure "(mysql-field-charsetnr MYSQL-FIELD-POINTER)"
394          (p
395            "Returns " (code "unsigned-integer") ".") )
396
397        (procedure "(mysql-field-flags MYSQL-FIELD-POINTER)"
398          (p
399            "Returns " (code "unsigned-integer") ".") )
400
401        (procedure "(mysql-field-decimals MYSQL-FIELD-POINTER)"
402          (p
403            "Returns " (code "unsigned-integer") ".") )
404
405        (procedure "(mysql-field-def-length MYSQL-FIELD-POINTER)"
406          (p
407            "Returns " (code "unsigned-integer") ".") )
408
409        (procedure "(mysql-field-catalog-length MYSQL-FIELD-POINTER)"
410          (p
411            "Returns " (code "unsigned-integer") ".") )
412
413        (procedure "(mysql-field-db-length MYSQL-FIELD-POINTER)"
414          (p
415            "Returns " (code "unsigned-integer") ".") )
416
417        (procedure "(mysql-field-org-table-length MYSQL-FIELD-POINTER)"
418          (p
419            "Returns " (code "unsigned-integer") ".") )
420
421        (procedure "(mysql-field-table-length MYSQL-FIELD-POINTER)"
422          (p
423            "Returns " (code "unsigned-integer") ".") )
424
425        (procedure "(mysql-field-org-name-length MYSQL-FIELD-POINTER)"
426          (p
427            "Returns " (code "unsigned-integer") ".") )
428
429        (procedure "(mysql-field-name-length MYSQL-FIELD-POINTER)"
430          (p
431            "Returns " (code "unsigned-integer") ".") )
432
433        (procedure "(mysql-field-max-length MYSQL-FIELD-POINTER)"
434          (p
435            "Returns " (code "unsigned-integer") ".") )
436
437        (procedure "(mysql-field-length MYSQL-FIELD-POINTER)"
438          (p
439              "Returns " (code "unsigned-integer") ".") )
440      )
441
442      (subsection "Character Set Access"
443
444        (procedure "(mysql-set-character-set CONN CHARACTER-SET-NAME)"
445          (p
446            "Sets the current character set.") )
447
448        (procedure "(mysql-character-set-name CONN)"
449          (p
450            "Returns a " (tt "string") ".") )
451
452        (procedure "(mysql-get-character-set-info CONN)"
453          (p
454            "Returns a " (tt "MY-CHARSET-INFO-POINTER") ".") )
455
456        (subsubsection "Slot Getters"
457
458          (procedure "(my-charset-info-name MY-CHARSET-INFO-POINTER)"
459            (p
460              "Return a " (code "string") ".") )
461
462          (procedure "(my-charset-info-csname MY-CHARSET-INFO-POINTER)"
463            (p
464              "Return a " (code "string") ".") )
465
466          (procedure "(my-charset-info-comment MY-CHARSET-INFO-POINTER)"
467            (p
468              "Return a " (code "string") ".") )
469
470          (procedure "(my-charset-info-dir MY-CHARSET-INFO-POINTER)"
471            (p
472              "Return a " (code "string") ".") )
473
474          (procedure "(my-charset-info-mbminlen MY-CHARSET-INFO-POINTER)"
475            (p
476              "Return a " (code "number") ".") )
477
478          (procedure "(my-charset-info-mbmaxlen MY-CHARSET-INFO-POINTER)"
479            (p
480              "Return a " (code "number") ".") )
481        )
482      )
483
484      (subsection "Miscellaneous Procedures"
485
486        (procedure "(mysql-change-user CONN [KEYWORD ...])
487          (p
488            "Changes the user identity.")
489          (p
490            "Any number of the following " (tt "KEYWORD ...") " may be included:"
491            (ul
492              (li (tt "user"))
493              (li (tt "passwd"))
494              (li (tt "db")))) )
495
496        (procedure "(mysql-debug debug)
497          (p
498            ".") )
499
500        (procedure "(mysql-dump-debug-info CONN)
501          (p
502            ".") )
503
504        (procedure "(mysql-errno CONN)
505          (p
506            ".") )
507
508        (procedure "(mysql-error CONN)
509          (p
510            "Returns a string describing the last mysql error, or #f if no error has occurred.") )
511
512        (procedure "(mysql-escape-string CONN SQL)
513          (p
514            "Returns an escape encoded form of the " (tt "SQL") " string.") )
515
516        (procedure "(mysql-free-result CONN)
517          (p
518            ".") )
519
520        (procedure "(mysql-get-client-info)
521          (p
522            ".") )
523
524        (procedure "(mysql-get-client-version)
525          (p
526            ".") )
527
528        (procedure "(mysql-get-host-info CONN)
529          (p
530            ".") )
531
532        (procedure "(mysql-get-proto-info CONN)
533          (p
534            ".") )
535
536        (procedure "(mysql-get-server-info CONN)
537          (p
538            ".") )
539
540        (procedure "(mysql-get-server-version CONN)
541          (p
542            ".") )
543
544        (procedure "(mysql-info CONN)
545          (p
546            ".") )
547
548        (procedure "(mysql-insert-id CONN)
549          (p
550            ".") )
551
552        (procedure "(mysql-kill CONN PID)
553          (p
554            ".") )
555
556        (procedure "(mysql-list-dbs CONN LIKE)
557          (p
558            ".") )
559
560        (procedure "(mysql-list-fields CONN TABLE WILD)
561          (p
562            ".") )
563
564        (procedure "(mysql-list-processes CONN)
565          (p
566            ".") )
567
568        (procedure "(mysql-list-tables CONN WILD)
569          (p
570            ".") )
571
572        (procedure "(mysql-num-fields CONN)
573          (p
574            ".") )
575
576        (procedure "(mysql-num-rows CONN)
577          (p
578            ".") )
579
580        (procedure "(mysql-ping CONN)
581          (p
582            ".") )
583
584        (procedure "(mysql-select-db CONN DB)
585          (p
586            "Returns " (code "#t") " if the select was successful, "
587            "signals exception otherwise.") )
588
589        (procedure "(mysql-stat CONN)
590          (p
591            ".") )
592
593        (procedure "(mysql-store-result CONN)
594          (p
595            ".") )
596
597        (procedure "(mysql-thread-id CONN)
598          (p
599            ".") )
600      )
601
602      (subsection "Enumerations & Flags"
603
604        (subsubsection "Client Flags"
605
606          (symbol-table "Symbolic Value"
607            (describe client-compress "CLIENT_COMPRESS")
608            (describe client-found-rows "CLIENT_FOUND_ROWS")
609            (describe client-ignore-sigpipe "CLIENT_IGNORE_SIGPIPE")
610            (describe client-ignore-space "CLIENT_IGNORE_SPACE")
611            (describe client-interactive "CLIENT_INTERACTIVE")
612            (describe client-local-files "CLIENT_LOCAL_FILES")
613            (describe client-multi-results "CLIENT_MULTI_RESULTS")
614            (describe client-multi-statements "CLIENT_MULTI_STATEMENTS")
615            (describe client-no-schema "CLIENT_NO_SCHEMA")
616            (describe client-odbc "CLIENT_ODBC")
617            (describe client-ssl "CLIENT_SSL") )
618
619          (procedure "(mysql-client-flags-value FLAG ...)"
620            (p
621              "Returns the or'ed value of the " (tt "FLAG ...") ".") )
622
623          (procedure "(mysql-client-flags-symbol NUMBER)"
624            (p
625              "Returns the symbol for the " (tt "NUMBER") ".") )
626        )
627
628        (subsubsection "enum enum_mysql_set_option"
629
630          (symbol-table "Symbolic Value"
631            (describe mysql-option-multi-statements-on "MYSQL_OPTION_MULTI_STATEMENTS_ON")
632            (describe mysql-option-multi-statements-off "MYSQL_OPTION_MULTI_STATEMENTS_OFF") )
633
634          (procedure "(mysql-server-option-value FLAG ...)"
635            (p
636              "Returns the or'ed value of the " (tt "FLAG ...") ".") )
637
638          (procedure "(mysql-server-option-symbol NUMBER)"
639            (p
640              "Returns the symbol for the " (tt "NUMBER") ".") )
641        )
642
643        (subsubsection "enum mysql_option"
644
645          (symbol-table "Symbolic Value"
646            (describe mysql-opt-connect-timeout "MYSQL_OPT_CONNECT_TIMEOUT")
647            (describe mysql-opt-compress "MYSQL_OPT_COMPRESS")
648            (describe mysql-opt-named-pipe "MYSQL_OPT_NAMED_PIPE")
649            (describe mysql-init-command "MYSQL_INIT_COMMAND")
650            (describe mysql-read-default-file "MYSQL_READ_DEFAULT_FILE")
651            (describe mysql-read-default-group "MYSQL_READ_DEFAULT_GROUP")
652            (describe mysql-set-charset-dir "MYSQL_SET_CHARSET_DIR")
653            (describe mysql-set-charset-name "MYSQL_SET_CHARSET_NAME")
654            (describe mysql-opt-local-infile "MYSQL_OPT_LOCAL_INFILE")
655            (describe mysql-opt-protocol "MYSQL_OPT_PROTOCOL")
656            (describe mysql-shared-memory-base-name "MYSQL_SHARED_MEMORY_BASE_NAME")
657            (describe mysql-opt-read-timeout "MYSQL_OPT_READ_TIMEOUT")
658            (describe mysql-opt-write-timeout "MYSQL_OPT_WRITE_TIMEOUT")
659            (describe mysql-opt-use-result "MYSQL_OPT_USE_RESULT")
660            (describe mysql-opt-use-remote-connection "MYSQL_OPT_USE_REMOTE_CONNECTION")
661            (describe mysql-opt-use-embedded-connection "MYSQL_OPT_USE_EMBEDDED_CONNECTION")
662            (describe mysql-opt-guess-connection "MYSQL_OPT_GUESS_CONNECTION")
663            (describe mysql-set-client-ip "MYSQL_SET_CLIENT_IP")
664            (describe mysql-secure-auth "MYSQL_SECURE_AUTH")
665            (describe mysql-report-data-truncation "MYSQL_REPORT_DATA_TRUNCATION") )
666
667          (procedure "(mysql-option-value FLAG ...)"
668            (p
669              "Returns the or'ed value of the " (tt "FLAG ...") ".") )
670
671          (procedure "(mysql-option-symbol NUMBER)"
672            (p
673              "Returns the symbol for the " (tt "NUMBER") ".") )
674        )
675
676        (subsubsection "enum enum_field_types"
677
678          (symbol-table "Symbolic Value"
679            (describe mysql-type-decimal "MYSQL_TYPE_DECIMAL")
680            (describe mysql-type-tiny "MYSQL_TYPE_TINY")
681            (describe mysql-type-short "MYSQL_TYPE_SHORT")
682            (describe mysql-type-long "MYSQL_TYPE_LONG")
683            (describe mysql-type-float "MYSQL_TYPE_FLOAT")
684            (describe mysql-type-double "MYSQL_TYPE_DOUBLE")
685            (describe mysql-type-null "MYSQL_TYPE_NULL")
686            (describe mysql-type-timestamp "MYSQL_TYPE_TIMESTAMP")
687            (describe mysql-type-longlong "MYSQL_TYPE_LONGLONG")
688            (describe mysql-type-int24 "MYSQL_TYPE_INT24")
689            (describe mysql-type-date "MYSQL_TYPE_DATE")
690            (describe mysql-type-time "MYSQL_TYPE_TIME")
691            (describe mysql-type-datetime "MYSQL_TYPE_DATETIME")
692            (describe mysql-type-year "MYSQL_TYPE_YEAR")
693            (describe mysql-type-newdate "MYSQL_TYPE_NEWDATE")
694            (describe mysql-type-varchar "MYSQL_TYPE_VARCHAR")
695            (describe mysql-type-bit "MYSQL_TYPE_BIT")
696            (describe mysql-type-newdecimal "MYSQL_TYPE_NEWDECIMAL")
697            (describe mysql-type-enum "MYSQL_TYPE_ENUM")
698            (describe mysql-type-set "MYSQL_TYPE_SET")
699            (describe mysql-type-tiny-blob "MYSQL_TYPE_TINY_BLOB")
700            (describe mysql-type-medium-blob "MYSQL_TYPE_MEDIUM_BLOB")
701            (describe mysql-type-long-blob "MYSQL_TYPE_LONG_BLOB")
702            (describe mysql-type-blob "MYSQL_TYPE_BLOB")
703            (describe mysql-type-var-string "MYSQL_TYPE_VAR_STRING")
704            (describe mysql-type-string "MYSQL_TYPE_STRING")
705            (describe mysql-type-geometry "MYSQL_TYPE_GEOMETRY") )
706
707          (procedure "(mysql-type-value FLAG ...)"
708            (p
709              "Returns the or'ed value of the " (tt "FLAG ...") ".") )
710
711          (procedure "(mysql-type-symbol NUMBER)"
712            (p
713              "Returns the symbol for the " (tt "NUMBER") ".") )
714        )
715
716        (subsubsection "MYSQL_FIELD.flags Flags"
717
718          (symbol-table "Symbolic Value"
719            (describe not-null-flag "NOT-NULL-FLAG")
720            (describe pri-key-flag "PRI-KEY-FLAG")
721            (describe unique-key-flag "UNIQUE-KEY-FLAG")
722            (describe multiple-key-flag "MULTIPLE-KEY-FLAG")
723            (describe unsigned-flag "UNSIGNED-FLAG")
724            (describe zerofill-flag "ZEROFILL-FLAG")
725            (describe binary-flag "BINARY-FLAG")
726            (describe auto-increment-flag "AUTO-INCREMENT-FLAG")
727            (describe no-default-value-flag "NO-DEFAULT-VALUE-FLAG") )
728
729          (procedure "(mysql-field-flags-value FLAG ...)"
730            (p
731              "Returns the or'ed value of the " (tt "FLAG ...") ".") )
732
733          (procedure "(mysql-field-flags-symbol NUMBER)"
734            (p
735              "Returns the symbol for the " (tt "NUMBER") ".") )
736        )
737      )
738    ) ; documentation
739
740    (examples
741      (p
742        "A bulky usage might look like:"
743        (pre ,ex1-text) )
744      (p
745        "A slightly more compact version that does the same thing:"
746        (pre ,ex2-text) )
747    ) ; examples
748
749    (section "Data Type Conversion"
750      (p
751        "All MySQL result data (except NULL) are returned as Scheme strings. "
752        "The NULL value is represented by " (tt "#f") ". Booleans are expressed "
753        "as Scheme strings " (tt "\"1\"") " and " (tt "\"0\"") ". All remaining "
754        "types, including numeric types and strings are returned as Scheme "
755        "strings.")
756    ) ; section "Data Type Conversion"
757
758    (section "Bugs"
759      (p
760        "This is alpha quality software. Only very basic functionality "
761        "has been tested so far. I look forward to providing a more complete "
762        "test suite (and probably a slew of bugfixes) with the next release.")
763      (p
764        (tt "mysql-escape-string") " is broken when it's used for binary data.")
765      (p
766        "I need to nail down the supported libmysqlclient versions. Right "
767        "now there are some functions I've put off because they may or may "
768        "not be supported in my target range. We'll see, soon...")
769    ) ; section "Bugs"
770
771    (license ,license-text)
772  ) ; eggdoc:begin
773) ) ; doc
774
775(eggdoc->html doc)
Note: See TracBrowser for help on using the repository browser.