Commit Graph

422 Commits

Author SHA1 Message Date
eknauel eb4b60db6f added a few comments 2002-09-24 13:29:24 +00:00
eknauel 7cc0537ed4 Basic support for using SQLBindCol() from Scheme. Reading integer
values from result set is broken. Unbinding columns is not implemented
yet.
2002-09-24 13:29:03 +00:00
sperber 938182d4b1 Fix the most obvious insanities that's to do with dynamic parts of the
RX syntax.  Namely, a lot of code (used to) assume(s) that the
total-number-of-submatches (TSM) quantity is static even for dynamic
regexps.

Specifically, RE-TSM now returns an unspecific value instead of 0 for
non-regexps which should break most of the code that used to just
silently do the wrong thing.  It's likely that more examples involving
dynamic sub-regexps will fail.

In the process, I also removed some of Olin's naming craziness (using
"%" signs to convey meaning) which I needed to do to halfway
understand what's going on.
2002-09-23 12:59:28 +00:00
sperber 7062ec4f17 Long obsolete. 2002-09-19 07:08:29 +00:00
mainzelm 45388f2c12 Remove debugging output. 2002-09-18 11:21:06 +00:00
mainzelm 5b001c5720 Convert optional timeout argument before calling wait-for-channels. 2002-09-17 21:24:04 +00:00
eknauel 1b7c49c33c - support for SQLNumParams() (odbc_sql_num_params)
- support for SQLColAttribute() (odbc_sql_col_attribute)
2002-09-12 14:31:31 +00:00
mainzelm 64d35131f3 Fixed a subtle bug in the macro for the << redirection: The port
opened by open-input-string could be closed by the GC before the exec().
Now << stores the port in a global variable.
The test to reveal the bug was:

(let lp ()
  (run (head) (<< "a"))
  (lp))

printing a "closed channel" message after some a few hundred interations.
2002-09-12 07:30:30 +00:00
eknauel 87846eef58 - support for SQLNativeSql()
- dynamic memory allocation for return values in these functions:
  - odbc_sql_get_info_string()
  - odbc_sql_get_connect_attr_string()
  - odbc_sql_get_stmt_attr_string()
  - odbc_sql_get_desc_field_string()
  - odbc_sql_get_cursor_name()
  - odbc_sql_native_sql()
  - odbc_sql_get_data()
  - odbc_sql_describe_col()
  - odbc_sql_get_diag_recs()
- odbc_sql_data_sources() is still broken: sometimes the result string
  is truncated. I'm not sure if this not a unixODBC-bug...
2002-09-11 14:12:30 +00:00
mainzelm e811e1d729 Direct interface to directory streams (stolen from S48). 2002-09-06 13:22:16 +00:00
mainzelm aa57bec9c2 Support for uname. 2002-09-06 12:23:18 +00:00
mainzelm 48a009c698 Create a fresh vector of handlers on startup. 2002-09-06 11:25:59 +00:00
mainzelm ff0ce8fdfb + user-effective-uid and -gid per thread.
+ alignments for euid- and egid-resource
+ argument to chdir is now optional and defaults to (home-dir)
2002-09-06 09:57:32 +00:00
eknauel 97744da0da - Support for SQLGetDescField() (odbc-sql-get-desc-field-int and
odbc-sql-get-desc-field-string)

- Support for SQLNativeSql() (odbc-sql-native-sql)
2002-09-05 14:23:52 +00:00
eknauel 2e4ac7c244 Support for SQLMoreResults() (odbc-sql-more-results) 2002-09-04 13:53:10 +00:00
eknauel 78b653e815 Support for SQLSetPos() (odbc-sql-set-pos) and SQLBulkOperations()
(odbc-sql-bulk-operations)
2002-09-04 13:32:21 +00:00
eknauel 7ddfc3211c Added support for catalog functions:
- SQLColumPrivileges() (odbc-sql-column-privileges)
- SQLColumns() (odbc-sql-columns)
- SQLForeignKeys() (odbc-sql-foreign-keys)
- SQLPrimaryKeys() (odbc-sql-primary-keys)
- SQLProcedureColumns() (odbc-sql-proecedure-columns)
- SQLProcedures() (odbc-sql-procedures)
- SQLSpecialColumns() (odbc-sql-special-columns)
- SQLStatistics() (odbc-sql-statistics)
- SQLTablePrivileges() (odbc-sql-table-privileges)
- SQLTables() (odbc-sql-tables)
2002-09-04 12:09:35 +00:00
eknauel 7b409e8371 Support for SQLRowCount() (odbc-sql-row-count) 2002-09-03 14:08:04 +00:00
eknauel f0fdf618fe Support for SQLGetCursorName() and SQLSetCursorName() 2002-09-03 13:44:06 +00:00
sperber 3d7f50ada2 Cosmetic fix: the file uses explicit STRUCTURE-REFs for all
references to THREADS-INTERNAL except one.  Make that one reference
into a STRUCTURE-REF also.
2002-09-03 13:23:54 +00:00
sperber efb2ad6bed Factor SCSH-ENDIAN out of SCSH-LEVEL-0. 2002-09-03 13:12:32 +00:00
sperber 5eda8d0713 Fix some obscure import issues with DELIMITED-READERS. 2002-09-03 12:53:47 +00:00
sperber 416769997a Factored DELIMITED-READERS out of SCSH-LEVEL-0. 2002-09-03 12:41:45 +00:00
eknauel 64b6410756 New record type odbc-column for SQLDescribeCol()
(odbc-sql-describe-col) return values.
2002-09-03 12:34:18 +00:00
eknauel a76fdbfe59 Fixed SQLDescribeCol (odbc-sql-describe-col) 2002-09-03 12:33:17 +00:00
sperber 9772b62b54 Factored STRING-COLLECTORS out of SCSH-LEVEL-0. 2002-09-03 12:30:08 +00:00
sperber 0d4943b9b5 Factor SCSH-ERRORS out of SCSH-LEVEL-0. 2002-09-03 12:25:12 +00:00
eknauel 186f745306 - Fixed confusion of database-handles (which basically are
non-existent) and descript-handles.
- sql-datatype-* defintion for use with SQLGetTypeInfo() (odbc-sql-get-type-info)
2002-09-03 08:18:42 +00:00
eknauel 23151f3ad1 - Don't distinguish between SQL_SUCCESS and SQL_SUCCESS_WITH_INFO.
- Don't call SQLGetDiagRec() automatically on SQL_ERROR, some ODBC
  seem to have a broken SQLGetDiagRec() implementation. Let user call
  SQLGetDiagRec() from Scheme at his own risk.

The ODBC documentation thinks it's a good idea to call SQLGetDiagRec()
after each ODBC-call that might return SQL_SUCCESS_WITH_INFO. IMHO
this sucks. However it's now possible to do so in the user's Scheme
code.
2002-09-03 08:14:14 +00:00
eknauel 7efd91d54f Support for SQLGetDiagRec (odbc-sql-get-diag-recs) 2002-09-02 15:05:43 +00:00
eknauel 180850580c Fixed odbc_sql_get_diag_recs 2002-09-02 14:45:28 +00:00
eknauel a62bf26d5b - support for SQLGetDiagRec
- bugfixes fpr odbc_sql_data_sources and odbc_sql_drivers
2002-09-02 13:36:00 +00:00
eknauel 9b85dcf9da - represent handles as Scheme records of diffrent types
(environment-handle, connection-handle, statement-handle,
  database-handle)
- make ODBC functions these records
- Tons of constants for SQLGetInfo()
- get rid of some stupid pseudo-highlevel-ODBC-functions
2002-08-29 13:52:25 +00:00
eknauel 29115fc716 Scheme records for ODBC structures date, time, timestamp and numeric 2002-08-29 13:49:14 +00:00
eknauel 00dc5a0296 Don't call SQLGetDiagRec on SQL_ERROR return values, this causes
certain odbc drivers to crash.
2002-08-29 13:47:26 +00:00
mainzelm c8864c6c9a Remove duplicate initialization of cwd. 2002-08-27 16:46:02 +00:00
sperber 6eb3a1b0cc Obsolete. 2002-08-20 14:22:33 +00:00
sperber 33c14d7901 First stab at implementing SELECT/SELECT!:
- extend the VM interrupts to distinguish between read and write
  events
- add new ADD-PENDING-CHANNEL instruction to the VM
- add WAIT-FOR-CHANNELS procedure to the run-time system
- implement SELECT and SELECT! on top of that in newports.scm

This runs some basic tests, but in general should be considered
largely untested.

Moreover, SELECT/SELECT! never detect any exceptional conditions---the
returned vectors are always empty.  This is because the VM doesn't
really track those, and it's unclear whether it would be worth the
effort.
2002-08-20 14:03:01 +00:00
sperber ac343ba970 Replace Martin's implementation of selective blocking by the one in
Scheme 48 1.0.1.

Namely, instead of associating a list of queues with every thread, we
associate a single cell, holding the thread.  That cell is stored in
thread queues, and once a thread is made runnable again, the cell is
set to #f.  The thread-queue accessors ignore cells containing #f.

Implement an experimental OBTAIN-LOCK-MULTIPLE to test the whole
thing.
2002-08-16 14:11:50 +00:00
mainzelm 51230dfab1 Remove debugging message which isn't printed anyway. 2002-08-16 12:33:00 +00:00
mainzelm 4540ad4589 Don't call install-env when initializing scsh because this is already
done by a reinitializer in scsh.scm.
2002-08-16 12:12:31 +00:00
sperber 671f2c0181 Remove even more unneeded crud from utilities.scm. 2002-08-14 15:04:50 +00:00
sperber 8ebe0fe3f8 Obsolete. 2002-08-14 14:47:38 +00:00
sperber 09db2fed71 Remove a bunch of crud from utilities.scm as well as the dependencies
upon that crud.
2002-08-14 14:45:33 +00:00
sperber 7f1879b497 Remove the old LIST-LIB, STRING-LIB, and CHAR-SET-LIB libraries, now
that the corresponding SRFIs are in the Scheme 48 core.

All this hopefully preserving backwards compatibility.
2002-08-14 14:23:41 +00:00
sperber 4381ac9095 Add a whole bunch of S48_GC_PROTECT annotations in functions which
call s48_extract_integer.

s48_extract_integer can cause a callback for bignums, and, hence, heap
allocation.

This fixes a bug report by Seth Alves <alves@hungry.com> noting
spurious failures in SET-FILE-TIMES.
2002-08-13 15:46:17 +00:00
mainzelm d30130ab03 Deadlock-free resource locking. 2002-08-13 06:49:22 +00:00
eknauel f456608175 - record-types for sql-data, sql-time and sql-numeric
- tons of function ids for usage with SQLGetFunctions (sql-api-*)
- some key values for SQLGetInfo (sql-get-info-*). Need to be sorted (renamed?) by type of return value.
- minor code cleanups
2002-08-06 14:02:38 +00:00
eknauel 992bc80409 minor code clean-ups 2002-08-06 13:52:06 +00:00
mainzelm 96b40e8846 Fix to allow single character here strings. 2002-08-05 14:27:12 +00:00