📄 implementation issues.txt
字号:
This document is meant to record implementation issues with the various RDBMS'sthat were encountered while trying to implement a cross-platform RDBMS Sail.* Most databases cannot index large (text) fields like CLOBs or BLOBs, nor can these fields be compared to values in queries. Basically, this means that these fields are store-and-retrieve only. PostgreSQL is a positive exception here. MySQL supports indexing of value-prefixes in that it requires you to specify a prefix length on which the indexing will be based.* MySQL's text fields (char, varchar, CLOB) are all case-sensitive by default. As an alternative for the former two, one can use 'char binary' and 'varchar binary' fields. An alternative to MySQL's CLOB is BLOB, but this can only be used for ASCII text and binary data. Using e.g. PreparedStatement.setString(...) for a BLOB field will force the US-ASCII encoding upon the characters, mangling any non-ASCII characters. Starting from MySQL 4.1 one can specify the 'collation' for text fields, which determines whether characters are treated case-sensitively, case-insensitively or binary.* HSQLDB only allows one to specify uniqueness constraints after the column declarations. Specifying the UNIQUE keyword directly after a unique field results in an error.* Table- and index names are limited to 18(?) characters in Oracle.* MySQL 3.x does not support any subqueries other than "INSERT INTO ... SELECT ...".* Table creation is very slow in PostgreSQL (tested with 7.0.x).* Oracle converts empty strings to NULL values.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -