Commit Graph

434 Commits

Author SHA1 Message Date
sperber d0977ea4d4 Revamped the SELECT implementation to properly distinguish between
input and output port.  Also, SELECT and SELECT! are no longer
squashed into one silly procedure.
2002-10-30 12:00:15 +00:00
sperber a8ad3e0c71 Cater to dynamic subforms of SUBMATCH. 2002-10-29 15:57:00 +00:00
mainzelm c5c913b129 Fixes for some bugs introduced by the last commit. 2002-10-23 11:51:21 +00:00
mainzelm 96060828fa Use "compare" und "rename" to compare symbols. 2002-10-21 17:30:49 +00:00
eknauel d1142b703c - Support for odbc 1.0 alloc functions 2002-10-11 08:06:45 +00:00
eknauel 41d219a5c1 + define SQLLEN if not defined (libiodbc on OS X doesn't have it)
+ new (less, but still) broken version of SQLGetData()
2002-10-05 18:00:59 +00:00
eknauel ce96216d41 + This version introduces the all new SQLBindCol(), which might (in
contrast to former versions) someday be capable of returning things
  like SQL_TIME_STRUCT, SQL_DATE_STRUCT, SQL_TIMESTAMP_STRUCT and
  SQL_NUMERIC_STRUCT.
+ However, SQLGetData() is now even more broken than before (if used
  on integer columns). It seems, that I failed to understand the API
  reference on SQLGetData() completly!
2002-09-30 18:20:47 +00:00
eknauel dc07184b5d + support for SQLBrowseConnect()
+ finalizers for connection-handles, environment-handles
  and statement-handles
+ finalizers need more testing!
2002-09-25 15:58:30 +00:00
mainzelm 8b451fe673 + Factor out exit hooks into a separate package.
+ Let exit call the exit hooks.
2002-09-25 11:40:07 +00:00
mainzelm 6bb8778437 Introduced new predicates working on file-info records. 2002-09-25 06:26:19 +00:00
eknauel 96238c00c8 fixed a missing s48_enter_integer() in odbc_sql_fetch() 2002-09-24 14:15:52 +00:00
eknauel 4651284138 Fixed a braindead bug in odbc-sql-bindcol() buffer bookkeeping that
would raise an buffer-exceeded-error even if buffer_needed <
buffer_len after the buffer has been rebound
2002-09-24 13:48:20 +00:00
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