1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247
|
perl apis -> CPAN
fedora-core-2 isn't set up
suse-9.1 isn't set up
--------------------------------------------------------------------------------
setting backlog:
linux:
looks like max is 128 on linux 2.0
2.2/2.4 - /proc/sys/net/ipv4/tcp_max_syn_backlog
Default is 1024 for systems with more than 128Mb
of memory, and 128 for low memory machines.
If you make it greater than 1024, change
TCP_SYNQ_HSIZE in include/net/tcp.h to keep
TCP_SYNQ_HSIZE*16<=tcp_max_syn_backlog
and recompile kernel.
syn cookies - no max backlog
solaris:
/usr/sbin/ndd -set /dev/tcp tcp_conn_req_max 32
Tests:
stored procedures for mysql-5.0
adodb using peardb driver
db2 temp tables
odbc temp tables
zope
tcl
odbc tests
mysql_stmt calls in drop-in library
better pythondb/rubydbi tests
test init scripts
test send query w/length
test upper/lower/mixed column case methods
need database reconnect tests
column flags
getFieldAsXXX
getOutputBindAsXXX
Java "getXXXAsByteArray" methods
check blob/lobs with binary data in them
perl dbi driver
execute_array
bind_param_array
selectall_arrayref with attr/binds
selectall_hashref with attr/binds
selectcol_arrayref with attr/binds
selectrow_array with attr/binds
selectrow_arrayref with attr/binds
selectrow_hashref with attr/binds
prepare_cached
fetchall_arrayref with slice
quote
err
errstr
state
begin_work
available_drivers
data_sources
oldmysql test files for non-C++ api's
cygwin:
mysql connection crashes on function call
how to install as a service?
languages:
VB wrapper
how to build a php extension?
1) need php source
active state python
http://sebsauvage.net/python/mingw.html
non-cygwin ruby
creates funny CFLAGS
active state perl
PERL5LIB env var points to Oracle's perl installation
perl -V:prefix return C:\Perl
active state tcl
no doubt will have similar problems...
-I/cygdrive/Tcl/include
-L/cygdrive/c/Tcl/lib -ltcl84 -ltclstub84
zope
/cygdrive/c/Program Files/Zope-2.7.1/lib/python/Products
databases:
sqlite
.dll and .def file wherever
msql
won't build, need older bison
lago
???
doc
installing packages
optional cygwin components
running sqlrelay clients
add path to mysql dll to PATH
Compatibility:
db2 dead-db/relogin doesn't work, query just hangs when db is down
implement interbase dead-db/relogin
support @,: or ? for fake bind variables
rewrite queries with ?'s or @'s for oracle, rewrite
queries with ?'s or :'s for
mysql 4.1, 5.0
support libmysqlclient_r
daemontools
SCO:
ruby api won't build
postgresql won't configure
php api won't build
Documentation:
how to use new features of Tony/Erik's perl dbi patch
issue with sqlrelay.conf permissions and runasuser="nobody"
getting started with odbc
how to use pear db driver with adodb
getting started docs for MS SQL Server
getting started docs for odbc
"how sqlrelay works" with diagrams and animations
example sqlrelay.conf's for different configurations
recommended settings for each db, scaling
performance benchmark charts
HOWTO for linuxdoc.org
man pages for everything
Performance/Code Enhancements:
idle client timeout
client connect timeout
store passwords in encrypted form in the config file
use python distutils to build python
call endSession() from perl DBD finish method
sqlrclient classes shouldn't inherit from inet/unixclientsocket,
rather should have member variables for each
implement column flags as a bitmap
persistent cursors - parse query, attach an id to it,
make it available to other sessions
client-side persistence/socket handoff daemon
connection daemons could put buffers in shared memory and
clients could send queries, access buffers using
shared memory and semaphores instead of unix sockets
api methods to use preallocated buffers for result sets
api methods for configuring optimistic buffer sizes
configurable preallocated buffers on the server side
result set compression during transmission for distant relays
server side result set caching
support batch DML in oracle8
for databases that can return non-strings in their result sets,
send non strings to client
seperate modules into standalone builds
should be a single sqlr-connection daemon that dlopens the
appropriate database module
login errors should be printed on the screen by sqlrconnection class,
not by individual connections
api for running queries in the background
Security:
SSL encryption
Packages:
FreeBSD
NetBSD
OpenBSD
Solaris
OpenServer
Unixware/OpenUnix
Features:
use PAM if possible as alternative to defining users in sqlrelay.conf
support stored procedures that return result sets in
sybase, interbase, db2
support non-string output binds sybase stored procedures
could debug logs be logrotate compatible?
postgresql drop-in api lacks many features
postgresql drop-in needs to parse out ; delimited queries for db's
that don't support that, execute them seperately
mysql drop-in api lacks a few features
sybase/freetds (possibly others) need options for setting chained mode
and isolation mode when client connects
sqlr-import/sqlr-export tools
support vector binds
handle output binds in Python-DB, Ruby-DBD
datatype support:
handle binary data correctly in all databases
identical long/lob datatype support in all databases
more advanced long/lob datatype support
support for array datatypes
handle blobs, quads in interbase
handle timestamps
handle enum types in mysql
replication
query filtering
quotas
logging
handle commit/rollback for named transactions
implement API's that handle errors with exceptions
better transaction handling for postgresql
query/fields cmdline tools need a timeout option
maximum allowed clob bind value length should be configurable
odbc connection should check the odbc definition
for connect string arguments - SQLBrowseConnect
solaris init script
Availability:
connections should ping database server every so often to make sure
it's up, if it's not, relogin
master, fallback databases, where connection only goes to the fallback
if the master is overloaded or down
statistics, stat monitoring interface
if a connection dies mysteriously, a new one should fire up
backends:
pam_sqlrelay
mod_auth_sqlrelay for apache
samba auth module
bind 9.1 backend
dhcp backend
qmail backend
qpopper port
bugzilla port
API's:
JDBC
ODBC
QT3
C# - have a driver, just need to incorporate it
ADA
Eiffel
gnome-db
D
dbstep
ADODB driver
Native DB Support:
Informix
SAP DB
LocalSQL
kekedb
ThinkSQL
picosql
shsql
Config Tools:
gtk2
QT
curses
need keyboard shortcuts
size should be less than 640x480
connectstring editor
wizard
|