diff --git a/racket/collects/db/base.rkt b/racket/collects/db/base.rkt index e76d1f65b6..b18af40c73 100644 --- a/racket/collects/db/base.rkt +++ b/racket/collects/db/base.rkt @@ -181,7 +181,7 @@ [bind-prepared-statement (-> prepared-statement? list? any)] - [rename virtual-statement* virtual-statement + [virtual-statement (-> (or/c string? (-> dbsystem? string?)) virtual-statement?)] [virtual-statement? diff --git a/racket/collects/db/private/generic/functions.rkt b/racket/collects/db/private/generic/functions.rkt index db98a17f0e..2bc02e1c2f 100644 --- a/racket/collects/db/private/generic/functions.rkt +++ b/racket/collects/db/private/generic/functions.rkt @@ -5,7 +5,39 @@ unstable/error "interfaces.rkt" (only-in "sql-data.rkt" sql-null sql-null?)) -(provide (all-defined-out)) +(provide connected? + disconnect + connection-dbsystem + dbsystem-name + dbsystem-supported-types + prop:statement + statement? + bind-prepared-statement + prepared-statement-parameter-types + prepared-statement-result-types + virtual-statement? + (rename-out [virtual-statement* virtual-statement]) + query-rows + query-list + query-row + query-maybe-row + query-value + query-maybe-value + query-exec + query + in-query + in-query-helper ;; for contracted in-query macro in db/base + prepare + start-transaction + commit-transaction + rollback-transaction + call-with-transaction + in-transaction? + needs-rollback? + list-tables + table-exists? + group-rows + rows->dict) ;; == Administrative procedures diff --git a/racket/collects/db/private/pre.rkt b/racket/collects/db/private/pre.rkt new file mode 100644 index 0000000000..72eb453788 --- /dev/null +++ b/racket/collects/db/private/pre.rkt @@ -0,0 +1,24 @@ +#lang racket/base + +;; Most of db/base and db/sqlite3, used by core Racket (pre-pkg) + +(require "generic/interfaces.rkt") +(provide (struct-out simple-result) + (struct-out rows-result) + statement-binding? + (struct-out exn:fail:sql) + connection? + dbsystem? + prepared-statement?) + +(require "generic/sql-data.rkt") +(provide sql-null + sql-null?) + +(require "generic/functions.rkt") +(provide (except-out (all-from-out "generic/functions.rkt") + in-query-helper)) + +(require "sqlite3/main.rkt") +(provide sqlite3-connect + sqlite3-available?) diff --git a/racket/collects/pkg/db.rkt b/racket/collects/pkg/db.rkt index b0cfe2f5e7..9d1b1c3591 100644 --- a/racket/collects/pkg/db.rkt +++ b/racket/collects/pkg/db.rkt @@ -5,8 +5,7 @@ racket/path racket/file version/utils - db/base - db/sqlite3) + db/private/pre) (provide (struct-out pkg) diff --git a/racket/collects/setup/doc-db.rkt b/racket/collects/setup/doc-db.rkt index fb50d1bb3b..fd060f54ea 100644 --- a/racket/collects/setup/doc-db.rkt +++ b/racket/collects/setup/doc-db.rkt @@ -1,6 +1,5 @@ #lang racket/base -(require db/base - db/sqlite3 +(require db/private/pre racket/format racket/serialize "main-doc.rkt")