Commit Graph

421 Commits

Author SHA1 Message Date
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
mainzelm f172795016 Pass start argument of cre-search? to regexp-match. 2002-08-05 14:22:11 +00:00