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

Last change on this file since 8191 was 8191, checked in by Kon Lovett, 13 years ago

Save

  • Property svn:executable set to *
File size: 31.6 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" passwd: "secret")))
34  (mysql-query db "SHOW DATABASES")
35  (do ((row (mysql-fetch-row db) (mysql-fetch-row db)))
36      ((not row))
37    (print "Row " idx ": " (row "Database")) )
38  (mysql-close db) )
39END
40)
41
42(define ex2-text #<<END
43(use mysql)
44
45(let ((db (mysql-connect host: "mysql.example.com" user: "example" passwd: "secret")))
46  (mysql-query-for-each
47   db "SHOW DATABASES" (lambda (row idx) (print "Row " idx ": " (row "Database"))))
48  (mysql-close db) )
49END
50)
51
52(define doc `(
53  (eggdoc:begin
54    (name "mysql")
55    (description (p "MySQL bindings for Chicken."))
56    (author (url "mailto:toby@butzon.com" "Toby Butzon"))
57    (history
58      (version "1.31" "Additional functions & special handling of binary column. [Kon Lovett]")
59      (version "1.3" "Additional functions. [Kon Lovett]")
60      (version "1.2" "Fix for ticket #297. [Mario Domenech Goulart]")
61      (version "1.1" "Cross-platform compilation fixes, et al.")
62      (version "1.0" "Initial release") )
63    (requires (span "MySQL client library (" (tt "-lmysqlclient") ")"))
64    (usage)
65    (download "mysql.egg")
66
67    (documentation
68
69      (p
70        "The MySQL egg provides (most of) the functions offered by the MySQL C "
71        "API (the " (tt "foreign-mysql-*") " functions). It also provides a "
72        "set of slightly more convenient Scheme functions (the " (tt "mysql-*") " "
73        "functions). Finally, a few extra functions are provided for easy of use.")
74
75      (p
76        "Only the most often used MySQL functions are described in this "
77        "document. If you really want to see the full listing, consult the "
78        (url "mysql-mole.html" "mole documentation") ".")
79
80      (p
81        "Please send bug reports and suggestions to "
82        (url "mailto:toby@butzon.com" "toby@butzon.com") ".")
83
84      (subsection "Exceptions"
85
86        (p
87          "Conditions of the kind " (code "(exn mysql)") " are signaled "
88          "for error situations."
89          (symbol-table "Properties"
90            (describe location "Where the error occured - usually a procedure name.")
91            (describe arguments "Values that contributed to the error.")
92            (describe message "Error message.")) )
93      )
94
95      (subsection "Connections"
96
97        (procedure "(mysql-connect [KEYWORDS])"
98          (p
99            "Connect to a MySQL server.")
100          (p
101            "Returns a MySQL connection object suitable for passing to "
102            "the other MySQL functions. This object is referred to as "
103            (tt "CONN") " when passed by all the other MySQL functions. "
104            "Signals an exception when the connection fails.")
105          (p
106            "Any number of the following " (tt "KEYWORDS") " may be included:"
107            (ul
108              (li (tt "host"))
109              (li (tt "user"))
110              (li (tt "passwd"))
111              (li (tt "db"))
112              (li (tt "port"))
113              (li (tt "unix-socket"))
114              (li (tt "client-flag"))
115              (li (tt "ssl")
116                  " - A " (code "mysql-ssl") " record object.")
117              (li (tt "options")
118                  " - 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            "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 " (code "#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 " (code "#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 " (code "#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 " (code "#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 " (code "#f") ".") )
238
239        (procedure "(mysql-affected-rows CONN)"
240          (p
241            "Returns the number of rows affected by the current query.") )
242      )
243
244      (subsection "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 MYSQL-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        (subsubsection "Slot Getters"
358
359          (procedure "(mysql-field-org-name MYSQL-FIELD-POINTER)"
360            (p
361              "Returns " (code "string") ".") )
362
363          (procedure "(mysql-field-name MYSQL-FIELD-POINTER)"
364            (p
365              "Returns " (code "string") ".") )
366
367          (procedure "(mysql-field-org-table MYSQL-FIELD-POINTER)"
368            (p
369              "Returns " (code "string") ".") )
370
371          (procedure "(mysql-field-org-table MYSQL-FIELD-POINTER)"
372            (p
373              "Returns " (code "string") ".") )
374
375          (procedure "(mysql-field-db MYSQL-FIELD-POINTER)"
376            (p
377              "Returns " (code "string") ".") )
378
379          (procedure "(mysql-field-catalog MYSQL-FIELD-POINTER)"
380            (p
381              "Returns " (code "string") ".") )
382
383          (procedure "(mysql-field-def MYSQL-FIELD-POINTER)"
384            (p
385              "Returns " (code "string") ".") )
386
387          (procedure "(mysql-field-table MYSQL-FIELD-POINTER)"
388            (p
389              "Returns " (code "string") ".") )
390
391          (procedure "(mysql-field-type MYSQL-FIELD-POINTER)"
392            (p
393              "Returns " (code "enum enum_field_types value") ".") )
394
395          (procedure "(mysql-field-charsetnr MYSQL-FIELD-POINTER)"
396            (p
397              "Returns " (code "unsigned-integer") ".") )
398
399          (procedure "(mysql-field-flags MYSQL-FIELD-POINTER)"
400            (p
401              "Returns " (code "unsigned-integer") ".") )
402
403          (procedure "(mysql-field-decimals MYSQL-FIELD-POINTER)"
404            (p
405              "Returns " (code "unsigned-integer") ".") )
406
407          (procedure "(mysql-field-def-length MYSQL-FIELD-POINTER)"
408            (p
409              "Returns " (code "unsigned-integer") ".") )
410
411          (procedure "(mysql-field-catalog-length MYSQL-FIELD-POINTER)"
412            (p
413              "Returns " (code "unsigned-integer") ".") )
414
415          (procedure "(mysql-field-db-length MYSQL-FIELD-POINTER)"
416            (p
417              "Returns " (code "unsigned-integer") ".") )
418
419          (procedure "(mysql-field-org-table-length MYSQL-FIELD-POINTER)"
420            (p
421              "Returns " (code "unsigned-integer") ".") )
422
423          (procedure "(mysql-field-table-length MYSQL-FIELD-POINTER)"
424            (p
425              "Returns " (code "unsigned-integer") ".") )
426
427          (procedure "(mysql-field-org-name-length MYSQL-FIELD-POINTER)"
428            (p
429              "Returns " (code "unsigned-integer") ".") )
430
431          (procedure "(mysql-field-name-length MYSQL-FIELD-POINTER)"
432            (p
433              "Returns " (code "unsigned-integer") ".") )
434
435          (procedure "(mysql-field-max-length MYSQL-FIELD-POINTER)"
436            (p
437              "Returns " (code "unsigned-integer") ".") )
438
439          (procedure "(mysql-field-length MYSQL-FIELD-POINTER)"
440            (p
441                "Returns " (code "unsigned-integer") ".") )
442        )
443      )
444
445      (subsection "Field Flag Testing"
446
447        (procedure "(mysql-field-flags-on? MYSQL-FIELD-POINTER MYSQL-FIELD-FLAG ...)"
448          (p
449            "Does the field, " (tt "MYSQL-FIELD-POINTER") ", have all of the "
450            (tt "MYSQL-FIELD-FLAG ...") " set?") )
451
452        (procedure "(mysql-field-flags-off? MYSQL-FIELD-POINTER MYSQL-FIELD-FLAG ...)"
453          (p
454            "Does the field, " (tt "MYSQL-FIELD-POINTER") ", have all of the "
455            (tt "MYSQL-FIELD-FLAG ...") " not set?") )
456
457        (procedure "(mysql-field-primary-key? MYSQL-FIELD-POINTER)"
458          (p
459            "Is the field, " (tt "MYSQL-FIELD-POINTER") ", a primary key?") )
460
461        (procedure "(mysql-field-not-null? MYSQL-FIELD-POINTER)"
462          (p
463            "Is the field, " (tt "MYSQL-FIELD-POINTER") ", not null?") )
464
465        (procedure "(mysql-field-binary? MYSQL-FIELD-POINTER)"
466          (p
467            "Is the field, " (tt "MYSQL-FIELD-POINTER") ", binary?") )
468
469        (procedure "(mysql-field-numeric? MYSQL-FIELD-POINTER)"
470          (p
471            "Is the field, " (tt "MYSQL-FIELD-POINTER") ", numeric?") )
472      )
473
474      (subsection "Field Type Testing"
475
476        (procedure "(mysql-field-type-any? MYSQL-FIELD-POINTER MYSQL-TYPE ...)"
477          (p
478            "Is the field, " (tt "MYSQL-FIELD-POINTER") ", type any of "
479            (tt "MYSQL-TYPE ...") "?") )
480
481        (procedure "(mysql-field-type=? MYSQL-FIELD-POINTER MYSQL-TYPE)"
482          (p
483            "Is the field, " (tt "MYSQL-FIELD-POINTER") ", " (tt "MYSQL-TYPE") "?") )
484
485        (procedure "(mysql-field-type-clock? MYSQL-FIELD-POINTER)"
486          (p
487            "Is the field, " (tt "MYSQL-FIELD-POINTER") ", type time or date related?") )
488
489        (procedure "(mysql-field-type-number? MYSQL-FIELD-POINTER)"
490          (p
491            "Is the field, " (tt "MYSQL-FIELD-POINTER") ", type a number?") )
492
493        (procedure "(mysql-field-type-blob? MYSQL-FIELD-POINTER)"
494          (p
495            "Is the field, " (tt "MYSQL-FIELD-POINTER") ", type some kind of blob?") )
496
497        (procedure "(mysql-field-type-string? MYSQL-FIELD-POINTER)"
498          (p
499            "Is the field, " (tt "MYSQL-FIELD-POINTER") ", type some kind of string?") )
500
501        (procedure "(mysql-field-type-magnitude? MYSQL-FIELD-POINTER)"
502          (p
503            "Is the field, " (tt "MYSQL-FIELD-POINTER") ", type some kind of number?") )
504
505        (procedure "(mysql-field-type-binary? MYSQL-FIELD-POINTER)"
506          (p
507            "Is the field, " (tt "MYSQL-FIELD-POINTER") ", type some kind of "
508            "binary string or blob?") )
509
510        (procedure "(mysql-field-type-text? MYSQL-FIELD-POINTER)"
511          (p
512            "Is the field, " (tt "MYSQL-FIELD-POINTER") ", type some kind of "
513            "non-binary string or blob?") )
514      )
515
516      (subsection "Character Set Access"
517
518        (procedure "(mysql-set-character-set CONN CHARACTER-SET-NAME)"
519          (p
520            "Sets the current character set.") )
521
522        (procedure "(mysql-character-set-name CONN)"
523          (p
524            "Returns a " (tt "string") ".") )
525
526        (procedure "(mysql-get-character-set-info CONN)"
527          (p
528            "Returns a " (tt "MY-CHARSET-INFO-POINTER") ".") )
529
530        (subsubsection "Slot Getters"
531
532          (procedure "(my-charset-info-name MY-CHARSET-INFO-POINTER)"
533            (p
534              "Return a " (code "string") ".") )
535
536          (procedure "(my-charset-info-csname MY-CHARSET-INFO-POINTER)"
537            (p
538              "Return a " (code "string") ".") )
539
540          (procedure "(my-charset-info-comment MY-CHARSET-INFO-POINTER)"
541            (p
542              "Return a " (code "string") ".") )
543
544          (procedure "(my-charset-info-dir MY-CHARSET-INFO-POINTER)"
545            (p
546              "Return a " (code "string") ".") )
547
548          (procedure "(my-charset-info-mbminlen MY-CHARSET-INFO-POINTER)"
549            (p
550              "Return a " (code "number") ".") )
551
552          (procedure "(my-charset-info-mbmaxlen MY-CHARSET-INFO-POINTER)"
553            (p
554              "Return a " (code "number") ".") )
555        )
556      )
557
558      (subsection "Miscellaneous Procedures"
559
560        (procedure "(mysql-change-user CONN [KEYWORD ...])"
561          (p
562            "Changes the user identity.")
563          (p
564            "Any number of the following " (tt "KEYWORD ...") " may be included:"
565            (ul
566              (li (tt "user"))
567              (li (tt "passwd"))
568              (li (tt "db")))) )
569
570        (procedure "(mysql-debug DEBUG)"
571          (p
572            ".") )
573
574        (procedure "(mysql-dump-debug-info CONN)"
575          (p
576            ".") )
577
578        (procedure "(mysql-errno CONN)"
579          (p
580            ".") )
581
582        (procedure "(mysql-error CONN)"
583          (p
584            "Returns a string describing the last mysql error, or #f if no error has occurred.") )
585
586        (procedure "(mysql-escape-string CONN SQL)"
587          (p
588            "Returns an escape encoded form of the " (tt "SQL") " string.") )
589
590        (procedure "(mysql-free-result CONN)"
591          (p
592            ".") )
593
594        (procedure "(mysql-get-client-info)"
595          (p
596            ".") )
597
598        (procedure "(mysql-get-client-version)"
599          (p
600            ".") )
601
602        (procedure "(mysql-get-host-info CONN)"
603          (p
604            ".") )
605
606        (procedure "(mysql-get-proto-info CONN)"
607          (p
608            ".") )
609
610        (procedure "(mysql-get-server-info CONN)"
611          (p
612            ".") )
613
614        (procedure "(mysql-get-server-version CONN)"
615          (p
616            ".") )
617
618        (procedure "(mysql-info CONN)"
619          (p
620            ".") )
621
622        (procedure "(mysql-insert-id CONN)"
623          (p
624            ".") )
625
626        (procedure "(mysql-kill CONN PID)"
627          (p
628            ".") )
629
630        (procedure "(mysql-list-dbs CONN LIKE)"
631          (p
632            ".") )
633
634        (procedure "(mysql-list-fields CONN TABLE WILD)"
635          (p
636            ".") )
637
638        (procedure "(mysql-list-processes CONN)"
639          (p
640            ".") )
641
642        (procedure "(mysql-list-tables CONN WILD)"
643          (p
644            ".") )
645
646        (procedure "(mysql-num-fields CONN)"
647          (p
648            ".") )
649
650        (procedure "(mysql-num-rows CONN)"
651          (p
652            ".") )
653
654        (procedure "(mysql-ping CONN)"
655          (p
656            ".") )
657
658        (procedure "(mysql-select-db CONN DB)"
659          (p
660            "Returns " (code "#t") " if the select was successful, "
661            "signals exception otherwise.") )
662
663        (procedure "(mysql-stat CONN)"
664          (p
665            ".") )
666
667        (procedure "(mysql-store-result CONN)"
668          (p
669            ".") )
670
671        (procedure "(mysql-thread-id CONN)"
672          (p
673            ".") )
674      )
675
676      (subsection "Enumerations & Flags"
677
678        (subsubsection "Client Flags"
679
680          (p
681            (symbol-table "Symbolic Value"
682              (describe client-compress "CLIENT_COMPRESS")
683              (describe client-found-rows "CLIENT_FOUND_ROWS")
684              (describe client-ignore-sigpipe "CLIENT_IGNORE_SIGPIPE")
685              (describe client-ignore-space "CLIENT_IGNORE_SPACE")
686              (describe client-interactive "CLIENT_INTERACTIVE")
687              (describe client-local-files "CLIENT_LOCAL_FILES")
688              (describe client-multi-results "CLIENT_MULTI_RESULTS")
689              (describe client-multi-statements "CLIENT_MULTI_STATEMENTS")
690              (describe client-no-schema "CLIENT_NO_SCHEMA")
691              (describe client-odbc "CLIENT_ODBC")
692              (describe client-ssl "CLIENT_SSL") ) )
693
694          (procedure "(mysql-client-flags-value SYMBOL ...)"
695            (p
696              "Returns the or'ed value of the " (tt "SYMBOL ...") " values.") )
697
698          (procedure "(mysql-client-flags-symbol NUMBER)"
699            (p
700              "Returns the symbol for the " (tt "NUMBER") ".") )
701        )
702
703        (subsubsection "enum enum_mysql_set_option"
704
705          (p
706            (symbol-table "Symbolic Value"
707              (describe mysql-option-multi-statements-on "MYSQL_OPTION_MULTI_STATEMENTS_ON")
708              (describe mysql-option-multi-statements-off "MYSQL_OPTION_MULTI_STATEMENTS_OFF") ) )
709
710          (procedure "(mysql-server-option-value SYMBOL ...)"
711            (p
712              "Returns the or'ed value of the " (tt "SYMBOL ...") " values.") )
713
714          (procedure "(mysql-server-option-symbol NUMBER)"
715            (p
716              "Returns the symbol for the " (tt "NUMBER") ".") )
717        )
718
719        (subsubsection "enum mysql_option"
720
721          (p
722            (symbol-table "Symbolic Value"
723              (describe mysql-opt-connect-timeout "MYSQL_OPT_CONNECT_TIMEOUT")
724              (describe mysql-opt-compress "MYSQL_OPT_COMPRESS")
725              (describe mysql-opt-named-pipe "MYSQL_OPT_NAMED_PIPE")
726              (describe mysql-init-command "MYSQL_INIT_COMMAND")
727              (describe mysql-read-default-file "MYSQL_READ_DEFAULT_FILE")
728              (describe mysql-read-default-group "MYSQL_READ_DEFAULT_GROUP")
729              (describe mysql-set-charset-dir "MYSQL_SET_CHARSET_DIR")
730              (describe mysql-set-charset-name "MYSQL_SET_CHARSET_NAME")
731              (describe mysql-opt-local-infile "MYSQL_OPT_LOCAL_INFILE")
732              (describe mysql-opt-protocol "MYSQL_OPT_PROTOCOL")
733              (describe mysql-shared-memory-base-name "MYSQL_SHARED_MEMORY_BASE_NAME")
734              (describe mysql-opt-read-timeout "MYSQL_OPT_READ_TIMEOUT")
735              (describe mysql-opt-write-timeout "MYSQL_OPT_WRITE_TIMEOUT")
736              (describe mysql-opt-use-result "MYSQL_OPT_USE_RESULT")
737              (describe mysql-opt-use-remote-connection "MYSQL_OPT_USE_REMOTE_CONNECTION")
738              (describe mysql-opt-use-embedded-connection "MYSQL_OPT_USE_EMBEDDED_CONNECTION")
739              (describe mysql-opt-guess-connection "MYSQL_OPT_GUESS_CONNECTION")
740              (describe mysql-set-client-ip "MYSQL_SET_CLIENT_IP")
741              (describe mysql-secure-auth "MYSQL_SECURE_AUTH")
742              (describe mysql-report-data-truncation "MYSQL_REPORT_DATA_TRUNCATION") ) )
743
744          (procedure "(mysql-option-value SYMBOL ...)"
745            (p
746              "Returns the or'ed value of the " (tt "SYMBOL ...") " values.") )
747
748          (procedure "(mysql-option-symbol NUMBER)"
749            (p
750              "Returns the symbol for the " (tt "NUMBER") ".") )
751        )
752
753        (subsubsection "enum enum_field_types"
754
755          (p
756            (symbol-table "Symbolic Value"
757              (describe mysql-type-decimal "MYSQL_TYPE_DECIMAL")
758              (describe mysql-type-tiny "MYSQL_TYPE_TINY")
759              (describe mysql-type-short "MYSQL_TYPE_SHORT")
760              (describe mysql-type-long "MYSQL_TYPE_LONG")
761              (describe mysql-type-float "MYSQL_TYPE_FLOAT")
762              (describe mysql-type-double "MYSQL_TYPE_DOUBLE")
763              (describe mysql-type-null "MYSQL_TYPE_NULL")
764              (describe mysql-type-timestamp "MYSQL_TYPE_TIMESTAMP")
765              (describe mysql-type-longlong "MYSQL_TYPE_LONGLONG")
766              (describe mysql-type-int24 "MYSQL_TYPE_INT24")
767              (describe mysql-type-date "MYSQL_TYPE_DATE")
768              (describe mysql-type-time "MYSQL_TYPE_TIME")
769              (describe mysql-type-datetime "MYSQL_TYPE_DATETIME")
770              (describe mysql-type-year "MYSQL_TYPE_YEAR")
771              (describe mysql-type-newdate "MYSQL_TYPE_NEWDATE")
772              (describe mysql-type-varchar "MYSQL_TYPE_VARCHAR")
773              (describe mysql-type-bit "MYSQL_TYPE_BIT")
774              (describe mysql-type-newdecimal "MYSQL_TYPE_NEWDECIMAL")
775              (describe mysql-type-enum "MYSQL_TYPE_ENUM")
776              (describe mysql-type-set "MYSQL_TYPE_SET")
777              (describe mysql-type-tiny-blob "MYSQL_TYPE_TINY_BLOB")
778              (describe mysql-type-medium-blob "MYSQL_TYPE_MEDIUM_BLOB")
779              (describe mysql-type-long-blob "MYSQL_TYPE_LONG_BLOB")
780              (describe mysql-type-blob "MYSQL_TYPE_BLOB")
781              (describe mysql-type-var-string "MYSQL_TYPE_VAR_STRING")
782              (describe mysql-type-string "MYSQL_TYPE_STRING")
783              (describe mysql-type-geometry "MYSQL_TYPE_GEOMETRY") ) )
784
785          (procedure "(mysql-type-value SYMBOL ...)"
786            (p
787              "Returns the or'ed value of the " (tt "SYMBOL ...") " values.") )
788
789          (procedure "(mysql-type-symbol NUMBER)"
790            (p
791              "Returns the symbol for the " (tt "NUMBER") ".") )
792        )
793
794        (subsubsection "MYSQL_FIELD.flags Flags"
795
796          (p
797            (symbol-table "Symbolic Value"
798              (describe not-null-flag "NOT-NULL-FLAG")
799              (describe pri-key-flag "PRI-KEY-FLAG")
800              (describe unique-key-flag "UNIQUE-KEY-FLAG")
801              (describe multiple-key-flag "MULTIPLE-KEY-FLAG")
802              (describe unsigned-flag "UNSIGNED-FLAG")
803              (describe zerofill-flag "ZEROFILL-FLAG")
804              (describe binary-flag "BINARY-FLAG")
805              (describe auto-increment-flag "AUTO-INCREMENT-FLAG")
806              (describe no-default-value-flag "NO-DEFAULT-VALUE-FLAG") ) )
807
808          (procedure "(mysql-field-flags-value SYMBOL ...)"
809            (p
810              "Returns the or'ed value of the " (tt "SYMBOL ...") " values.") )
811
812          (procedure "(mysql-field-flags-symbol NUMBER)"
813            (p
814              "Returns the symbol for the " (tt "NUMBER") ".") )
815        )
816      )
817    ) ; documentation
818
819    (examples
820      (p
821        "A bulky usage might look like:"
822        (pre ,ex1-text) )
823      (p
824        "A slightly more compact version that does the same thing:"
825        (pre ,ex2-text) )
826    ) ; examples
827
828    (section "Data Type Conversion"
829      (p
830        "All MySQL result data (except NULL) are returned as Scheme strings.")
831      (p
832        "The NULL value is represented by " (code "#f") ".")
833      (p
834        "Booleans are expressed as the Scheme strings " (code "\"1\"") " and "
835        (code "\"0\"") ".")
836      (p
837        "All remaining types, including numeric types, blobs, and strings are "
838        "returned as Scheme strings.")
839    ) ; section "Data Type Conversion"
840
841    (section "Bugs"
842      (p
843        "No prepared statement support.")
844      (p
845        "This is alpha quality software. Only very basic functionality "
846        "has been tested so far. I look forward to providing a more complete "
847        "test suite (and probably a slew of bugfixes) with the next release.")
848      (p
849        (tt "mysql-escape-string") " is broken when it's used for binary data.")
850      (p
851        "I need to nail down the supported libmysqlclient versions. Right "
852        "now there are some functions I've put off because they may or may "
853        "not be supported in my target range. We'll see, soon...")
854    ) ; section "Bugs"
855
856    (license ,license-text)
857  ) ; eggdoc:begin
858) ) ; doc
859
860(eggdoc->html doc)
Note: See TracBrowser for help on using the repository browser.