├── .gitignore
├── README.md
├── bin
├── memorydbmanager.html
├── runManager.bat
├── runManagerSwing.bat
├── runServer.bat
├── runUtil.bat
└── runWebServer.bat
├── build
├── DocBookUtil.groovy
├── antivy-setup.xml
├── build-dist.gradle
├── build-dist.xml
├── build-docbook.xml
├── build.gradle
├── build.hsqldb.cmd
├── build.hsqldbtest.cmd
├── build.javadoc.cmd
├── build.sqltool.cmd
├── build.test.suite.cmd
├── build.xml
├── cfdistro.bash
├── clean.test.suite.cmd
├── dbuInstallSheetsWrapper.groovy
├── gradle-gui
├── gradle-gui.cmd
├── gradle-ivyxml-plugin-0.3.2.jar
├── gradle-javaPropFile-plugin-0.6.0.jar
├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── gui-initial.setting
├── gui-welcome.txt
├── hsqldb.bnd
├── ivy.xml
├── ivysettings-sample.xml
├── jdkcodeswitch.list
├── mvn-pub.gradle
├── rng-catalog-template.xml
├── run.test.suite.cmd
├── setenv.cmd
├── settings.gradle
├── test.dbmd.convert.properties
├── test.properties
└── test.xml
├── doc-src
├── altformats-sect.xml
├── apidocs
│ ├── hsqldbs.png
│ └── javadoc.css
├── branding-frag.xhtml
├── changelist_2_0.txt
├── docbook.css
├── entities
│ ├── global.ent
│ └── validation_only.ent
├── guide
│ ├── accesscontrol.xml
│ ├── building-app.xml
│ ├── builtinfunctions.xml
│ ├── compatibility.xml
│ ├── dataaccess.xml
│ ├── databaseobjects.xml
│ ├── dbfiles-app.xml
│ ├── dbproperties.xml
│ ├── deployment.xml
│ ├── dsndef.png
│ ├── dsnoptions1.png
│ ├── dsnoptions2.png
│ ├── eclipse-gradle-cfg.png
│ ├── eclipse-gradle-invoke.png
│ ├── filelinks-app.xml
│ ├── gradle-gui.png
│ ├── guide.xml
│ ├── listeners.xml
│ ├── lists-app.xml
│ ├── management.xml
│ ├── odbc.xml
│ ├── openoffice-app.xml
│ ├── running.xml
│ ├── sessions.xml
│ ├── sqlgeneral.xml
│ ├── sqlroutines.xml
│ ├── texttables.xml
│ ├── triggers.xml
│ └── unix.xml
├── hsqldb_lic.txt
├── hypersonic_lic.txt
├── images
│ ├── db
│ │ ├── home.png
│ │ ├── next.png
│ │ ├── prev.png
│ │ └── up.png
│ ├── hypersql_logo.png
│ └── hypersql_logo2.png
├── index.html
├── odbc.txt
├── readme-docauthors.txt
├── readme-template.txt
├── util-guide
│ ├── entities
│ │ └── versions.ent
│ ├── filelinks-app.xml
│ ├── html-report.png
│ ├── rejreport-sample.png
│ ├── sqltool-chapt.xml
│ ├── systempls-app.xml
│ └── util-guide.xml
└── verbatim
│ ├── sample
│ ├── acl.txt
│ ├── csv-sample.sql
│ ├── dsv-sample.sql
│ ├── hsqldb.cfg
│ ├── hsqldb.init
│ ├── html-report.sql
│ ├── jaas.cfg
│ ├── ldap-exerciser.properties
│ ├── pl.sql
│ ├── plsql.sql
│ ├── sample.c
│ ├── sample.php
│ ├── sample.pl
│ ├── sample.py
│ ├── sample.sql
│ ├── sampledata.sql
│ ├── server.properties
│ └── sqltool.rc
│ ├── src
│ └── org
│ │ └── hsqldb
│ │ ├── Tokens.java
│ │ ├── Trigger.java
│ │ ├── sample
│ │ ├── SqlFileEmbedder.java
│ │ ├── Testdb.java
│ │ └── TriggerSample.java
│ │ ├── server
│ │ ├── Servlet.java
│ │ └── WebServer.java
│ │ └── test
│ │ └── TestBase.java
│ └── testrun
│ └── sqltool
│ ├── sqljrt.sql
│ └── sqlpsm.sql
├── index.html
├── integration
├── extAuthWithSpring
│ ├── build.xml
│ ├── ivy-projsetup.xml
│ ├── ivy.xml
│ ├── ivysettings.xml
│ ├── jul.properties
│ ├── readme.txt
│ ├── resources
│ │ ├── beandefs.xml
│ │ ├── jaasbeans.xml
│ │ ├── jaasldapbeans.xml
│ │ ├── ldapbeans.xml
│ │ └── slavebeans.xml
│ └── src
│ │ └── org
│ │ └── hsqldb
│ │ └── sample
│ │ ├── JdbcAppClass.java
│ │ └── SpringExtAuth.java
├── jackrabbit
│ ├── readme.txt
│ └── resources
│ │ └── org
│ │ └── apache
│ │ └── jackrabbit
│ │ └── core
│ │ ├── journal
│ │ └── hsqldb.ddl
│ │ └── persistence
│ │ ├── bundle
│ │ └── hsqldb.ddl
│ │ └── db
│ │ └── hsqldb.ddl
└── readme.txt
├── lib
└── servlet-2_3-fcs-classfiles.zip
├── my-docs
└── 代码导读.java
├── my-test
├── java
│ └── my
│ │ └── test
│ │ ├── HsqldbJdbcTest.java
│ │ └── HsqldbServerStart.java
└── resources
│ ├── META-INF
│ └── services
│ │ └── java.sql.Driver
│ └── server.properties
├── pom.xml
├── readme.txt
├── sample
├── StartupParameters.plist
├── acl.txt
├── csv-sample.sql
├── dsv-sample.sql
├── hsqldb.cfg
├── hsqldb.init
├── hsqldb.service
├── html-report.sql
├── j-sample.sql
├── jaas.cfg
├── ldap-exerciser.properties
├── load_binding_lu.sql
├── nullempty.sql
├── pl.sql
├── plsql.sql
├── sample.c
├── sample.dsv
├── sample.php
├── sample.pl
├── sample.py
├── sample.sql
├── sampledata.sql
├── server.properties
└── sqltool.rc
├── src
├── module-info.java
└── org
│ └── hsqldb
│ ├── ClientConnection.java
│ ├── ClientConnectionHTTP.java
│ ├── ColumnBase.java
│ ├── ColumnSchema.java
│ ├── Constraint.java
│ ├── ConstraintCore.java
│ ├── Database.java
│ ├── DatabaseManager.java
│ ├── DatabaseType.java
│ ├── DatabaseURL.java
│ ├── Expression.java
│ ├── ExpressionAccessor.java
│ ├── ExpressionAggregate.java
│ ├── ExpressionArithmetic.java
│ ├── ExpressionArrayAggregate.java
│ ├── ExpressionBoolean.java
│ ├── ExpressionColumn.java
│ ├── ExpressionColumnAccessor.java
│ ├── ExpressionLike.java
│ ├── ExpressionLogical.java
│ ├── ExpressionOp.java
│ ├── ExpressionOrderBy.java
│ ├── ExpressionPeriod.java
│ ├── ExpressionPeriodOp.java
│ ├── ExpressionTable.java
│ ├── ExpressionValue.java
│ ├── FunctionCustom.java
│ ├── FunctionSQL.java
│ ├── FunctionSQLInvoked.java
│ ├── GroupSet.java
│ ├── HsqlDateTime.java
│ ├── HsqlException.java
│ ├── HsqlNameManager.java
│ ├── Like.java
│ ├── NumberSequence.java
│ ├── OpTypes.java
│ ├── ParserBase.java
│ ├── ParserCommand.java
│ ├── ParserDDL.java
│ ├── ParserDML.java
│ ├── ParserDQL.java
│ ├── ParserRoutine.java
│ ├── ParserTable.java
│ ├── PeriodDefinition.java
│ ├── QueryExpression.java
│ ├── QuerySpecification.java
│ ├── RangeGroup.java
│ ├── RangeVariable.java
│ ├── RangeVariableJoined.java
│ ├── RangeVariableResolver.java
│ ├── ReferenceObject.java
│ ├── Routine.java
│ ├── RoutineSchema.java
│ ├── Row.java
│ ├── RowAVL.java
│ ├── RowAVLDisk.java
│ ├── RowAVLDiskData.java
│ ├── RowAVLDiskLarge.java
│ ├── RowAction.java
│ ├── RowActionBase.java
│ ├── RowDiskDataChange.java
│ ├── Scanner.java
│ ├── Schema.java
│ ├── SchemaManager.java
│ ├── SchemaObject.java
│ ├── SchemaObjectSet.java
│ ├── Server.java
│ ├── Session.java
│ ├── SessionContext.java
│ ├── SessionData.java
│ ├── SessionInterface.java
│ ├── SessionManager.java
│ ├── SetFunction.java
│ ├── SetFunctionValueAggregate.java
│ ├── SetFunctionValueArray.java
│ ├── SetFunctionValueUser.java
│ ├── SortAndSlice.java
│ ├── SqlInvariants.java
│ ├── Statement.java
│ ├── StatementCommand.java
│ ├── StatementCompound.java
│ ├── StatementCursor.java
│ ├── StatementDML.java
│ ├── StatementDMQL.java
│ ├── StatementExpression.java
│ ├── StatementHandler.java
│ ├── StatementInsert.java
│ ├── StatementManager.java
│ ├── StatementProcedure.java
│ ├── StatementQuery.java
│ ├── StatementResultUpdate.java
│ ├── StatementSchema.java
│ ├── StatementSchemaDefinition.java
│ ├── StatementSession.java
│ ├── StatementSet.java
│ ├── StatementSignal.java
│ ├── StatementSimple.java
│ ├── StatementTypes.java
│ ├── Table.java
│ ├── TableBase.java
│ ├── TableDerived.java
│ ├── TablePeriodWorks.java
│ ├── TableUtil.java
│ ├── TableWorks.java
│ ├── TextTable.java
│ ├── Token.java
│ ├── Tokens.java
│ ├── TransactionManager.java
│ ├── TransactionManager2PL.java
│ ├── TransactionManagerCommon.java
│ ├── TransactionManagerMV2PL.java
│ ├── TransactionManagerMVCC.java
│ ├── Trigger.java
│ ├── TriggerDef.java
│ ├── TriggerDefSQL.java
│ ├── TypeInvariants.java
│ ├── View.java
│ ├── auth
│ ├── AuthBeanMultiplexer.java
│ ├── AuthFunctionBean.java
│ ├── AuthUtils.java
│ ├── DenyException.java
│ ├── HsqldbSlaveAuthBean.java
│ ├── JaasAuthBean.java
│ ├── LdapAuthBean.java
│ └── LdapAuthBeanTester.java
│ ├── cmdline
│ ├── SqlFile.java
│ ├── SqlTool.java
│ ├── SqlToolError.java
│ ├── SqlToolSprayer.java
│ ├── SqltoolRB.java
│ ├── package.html
│ ├── sqltool.flex
│ ├── sqltool.properties
│ ├── sqltool
│ │ ├── Calculator.java
│ │ ├── FileRecordReader.java
│ │ ├── SqlFile.banner.text
│ │ ├── SqlFile.banner_de.text
│ │ ├── SqlFileScanner.java
│ │ ├── SqlTool.syntax.text
│ │ ├── SqlTool.syntax_de.text
│ │ ├── Token.java
│ │ ├── TokenList.java
│ │ ├── TokenSource.java
│ │ ├── bottom-boilerplate.html
│ │ ├── buffer.help.text
│ │ ├── buffer.help_de.text
│ │ ├── d.options.text
│ │ ├── d.options_de.text
│ │ ├── dsv.options.text
│ │ ├── dsv.options_de.text
│ │ ├── errorat.text
│ │ ├── errorat_de.text
│ │ ├── macro.help.text
│ │ ├── macro.help_de.text
│ │ ├── pl.assign.text
│ │ ├── pl.control.text
│ │ ├── pl.help.text
│ │ ├── pl.help_de.text
│ │ ├── raw.leadin.text
│ │ ├── raw.leadin_de.text
│ │ ├── rejectreport.bottom.text
│ │ ├── rejectreport.bottom_de.text
│ │ ├── rejectreport.row.text
│ │ ├── rejectreport.top.text
│ │ ├── rejectreport.top_de.text
│ │ ├── special.help.text
│ │ ├── special.help_de.text
│ │ └── top-boilerplate.html
│ ├── sqltool_de.properties
│ └── sqltool_nl.properties
│ ├── dbinfo
│ ├── DITableInfo.java
│ ├── DatabaseInformation.java
│ ├── DatabaseInformationFull.java
│ └── DatabaseInformationMain.java
│ ├── error
│ ├── Error.java
│ └── ErrorCode.java
│ ├── index
│ ├── Index.java
│ ├── IndexAVL.java
│ ├── IndexAVLCheck.java
│ ├── IndexAVLMemory.java
│ ├── IndexStats.java
│ ├── NodeAVL.java
│ ├── NodeAVLDisk.java
│ └── NodeAVLDiskLarge.java
│ ├── jdbc
│ ├── JDBCArray.java
│ ├── JDBCArrayBasic.java
│ ├── JDBCBlob.java
│ ├── JDBCBlobClient.java
│ ├── JDBCBlobFile.java
│ ├── JDBCCallableStatement.java
│ ├── JDBCClob.java
│ ├── JDBCClobClient.java
│ ├── JDBCClobFile.java
│ ├── JDBCColumnMetaData.java
│ ├── JDBCCommonDataSource.java
│ ├── JDBCConnection.java
│ ├── JDBCConnectionEventListener.java
│ ├── JDBCDataSource.java
│ ├── JDBCDataSourceFactory.java
│ ├── JDBCDatabaseMetaData.java
│ ├── JDBCDriver.java
│ ├── JDBCNClob.java
│ ├── JDBCParameterMetaData.java
│ ├── JDBCPool.java
│ ├── JDBCPreparedStatement.java
│ ├── JDBCResultSet.java
│ ├── JDBCResultSetMetaData.java
│ ├── JDBCRowId.java
│ ├── JDBCSQLXML.java
│ ├── JDBCSavepoint.java
│ ├── JDBCStatement.java
│ ├── JDBCStatementBase.java
│ ├── JDBCUtil.java
│ ├── package.html
│ └── pool
│ │ ├── JDBCPooledConnection.java
│ │ ├── JDBCPooledDataSource.java
│ │ ├── JDBCXAConnection.java
│ │ ├── JDBCXAConnectionWrapper.java
│ │ ├── JDBCXADataSource.java
│ │ ├── JDBCXAResource.java
│ │ └── JDBCXID.java
│ ├── jdbcDriver.java
│ ├── lib
│ ├── AppendableException.java
│ ├── ArrayCounter.java
│ ├── ArrayListIdentity.java
│ ├── ArraySort.java
│ ├── ArrayUtil.java
│ ├── BaseList.java
│ ├── BasicTextJdkLogFormatter.java
│ ├── CharArrayWriter.java
│ ├── ClosableByteArrayOutputStream.java
│ ├── ClosableCharArrayWriter.java
│ ├── Collection.java
│ ├── CountUpDownLatch.java
│ ├── CountdownInputStream.java
│ ├── DataOutputStream.java
│ ├── DoubleIntIndex.java
│ ├── DoubleLongIndex.java
│ ├── FileAccess.java
│ ├── FileArchiver.java
│ ├── FileUtil.java
│ ├── FrameworkLogger.java
│ ├── HashMap.java
│ ├── HashMappedList.java
│ ├── HashSet.java
│ ├── HsqlArrayHeap.java
│ ├── HsqlArrayList.java
│ ├── HsqlByteArrayInputStream.java
│ ├── HsqlByteArrayOutputStream.java
│ ├── HsqlDeque.java
│ ├── HsqlHeap.java
│ ├── HsqlList.java
│ ├── HsqlTaskQueue.java
│ ├── HsqlThreadFactory.java
│ ├── HsqlTimer.java
│ ├── InOutUtil.java
│ ├── InputStreamInterface.java
│ ├── InputStreamWrapper.java
│ ├── IntIndex.java
│ ├── IntKeyHashMap.java
│ ├── IntKeyHashMapConcurrent.java
│ ├── IntKeyIntValueHashMap.java
│ ├── IntKeyLongValueHashMap.java
│ ├── IntLookup.java
│ ├── IntValueHashMap.java
│ ├── Iterator.java
│ ├── KMPSearchAlgorithm.java
│ ├── LineGroupReader.java
│ ├── LineReader.java
│ ├── LongDeque.java
│ ├── LongKeyHashMap.java
│ ├── LongKeyIntValueHashMap.java
│ ├── LongKeyLongValueHashMap.java
│ ├── LongLookup.java
│ ├── LongValueHashMap.java
│ ├── MultiValueHashMap.java
│ ├── Notified.java
│ ├── ObjectComparator.java
│ ├── OrderedHashSet.java
│ ├── OrderedIntHashSet.java
│ ├── OrderedIntKeyHashMap.java
│ ├── OrderedLongHashSet.java
│ ├── OrderedLongKeyHashMap.java
│ ├── RCData.java
│ ├── ReadWriteLockDummy.java
│ ├── ReaderInputStream.java
│ ├── RefCapablePropertyResourceBundle.java
│ ├── RefCapableRBInterface.java
│ ├── Set.java
│ ├── SimpleLog.java
│ ├── StopWatch.java
│ ├── Storage.java
│ ├── StringComparator.java
│ ├── StringConverter.java
│ ├── StringInputStream.java
│ ├── StringUtil.java
│ ├── ThreadFactory.java
│ ├── ValidatingResourceBundle.java
│ ├── WrapperIterator.java
│ ├── java
│ │ └── JavaSystem.java
│ ├── package.html
│ └── tar
│ │ ├── DbBackup.java
│ │ ├── DbBackupMain.java
│ │ ├── PIFData.java
│ │ ├── PIFGenerator.java
│ │ ├── RB.java
│ │ ├── TarFileInputStream.java
│ │ ├── TarFileOutputStream.java
│ │ ├── TarGenerator.java
│ │ ├── TarGeneratorMain.java
│ │ ├── TarHeaderField.java
│ │ ├── TarMalformatException.java
│ │ ├── TarReader.java
│ │ ├── TarReaderMain.java
│ │ ├── package.html
│ │ ├── rb.properties
│ │ ├── rb
│ │ ├── DbBackup.syntax.text
│ │ ├── DbBackup.syntax_de.text
│ │ ├── TarGenerator.syntax.text
│ │ ├── TarGenerator.syntax_de.text
│ │ ├── TarReader.syntax.text
│ │ ├── TarReader.syntax_de.text
│ │ ├── listing.format.text
│ │ └── listing.format_de.text
│ │ └── rb_de.properties
│ ├── map
│ ├── BaseHashMap.java
│ ├── BitMap.java
│ ├── HashIndex.java
│ ├── ReusableObjectCache.java
│ ├── ValuePool.java
│ └── ValuePoolHashMap.java
│ ├── navigator
│ ├── RangeIterator.java
│ ├── RowIterator.java
│ ├── RowSetNavigator.java
│ ├── RowSetNavigatorClient.java
│ ├── RowSetNavigatorData.java
│ ├── RowSetNavigatorDataChange.java
│ ├── RowSetNavigatorDataChangeMemory.java
│ └── RowSetNavigatorDataTable.java
│ ├── package.html
│ ├── persist
│ ├── BitMapCachedObject.java
│ ├── BlockObjectStore.java
│ ├── Cache.java
│ ├── CachedObject.java
│ ├── CachedObjectBase.java
│ ├── Crypto.java
│ ├── DataFileCache.java
│ ├── DataFileCacheSession.java
│ ├── DataFileDefrag.java
│ ├── DataSpaceManager.java
│ ├── DataSpaceManagerBlocks.java
│ ├── DataSpaceManagerSimple.java
│ ├── DirectoryBlockCachedObject.java
│ ├── DoubleIntArrayCachedObject.java
│ ├── EventLogInterface.java
│ ├── HsqlDatabaseProperties.java
│ ├── HsqlProperties.java
│ ├── IntArrayCachedObject.java
│ ├── LobManager.java
│ ├── LobStore.java
│ ├── LobStoreInJar.java
│ ├── LobStoreMem.java
│ ├── LobStoreRAFile.java
│ ├── LockFile.java
│ ├── Log.java
│ ├── Logger.java
│ ├── PersistentStore.java
│ ├── PersistentStoreCollection.java
│ ├── PersistentStoreCollectionDatabase.java
│ ├── PersistentStoreCollectionSession.java
│ ├── RAFile.java
│ ├── RAFileHybrid.java
│ ├── RAFileInJar.java
│ ├── RAFileNIO.java
│ ├── RAFileSimple.java
│ ├── RAShadowFile.java
│ ├── RAStorageWrapper.java
│ ├── RandomAccessInterface.java
│ ├── RowInsertInterface.java
│ ├── RowInsertSimple.java
│ ├── RowInsertVersioning.java
│ ├── RowStoreAVL.java
│ ├── RowStoreAVLDisk.java
│ ├── RowStoreAVLDiskData.java
│ ├── RowStoreAVLHybrid.java
│ ├── RowStoreAVLHybridExtended.java
│ ├── RowStoreAVLMemory.java
│ ├── RowStoreDataChange.java
│ ├── ScriptLoader.java
│ ├── ScriptRunner.java
│ ├── SimpleStore.java
│ ├── TableSpaceManager.java
│ ├── TableSpaceManagerBlocks.java
│ ├── TableSpaceManagerSimple.java
│ ├── TextCache.java
│ ├── TextFileReader.java
│ ├── TextFileReader16.java
│ ├── TextFileReader8.java
│ ├── TextFileSettings.java
│ └── TextTableStorageManager.java
│ ├── resources
│ ├── ResourceBundleHandler.java
│ ├── info-column-remarks.properties
│ ├── info-table-remarks.properties
│ ├── information-schema.sql
│ ├── jdklogging-default.properties
│ ├── lob-schema.sql
│ ├── org_hsqldb_DatabaseClassLoader.properties
│ ├── org_hsqldb_server_Server_messages.properties
│ ├── sql-state-messages.properties
│ ├── sql-state-messages_es.properties
│ ├── webserver-content-types.properties
│ └── webserver-pages.properties
│ ├── result
│ ├── Result.java
│ ├── ResultConstants.java
│ ├── ResultLob.java
│ ├── ResultMetaData.java
│ └── ResultProperties.java
│ ├── rights
│ ├── GrantConstants.java
│ ├── Grantee.java
│ ├── GranteeManager.java
│ ├── Right.java
│ ├── User.java
│ └── UserManager.java
│ ├── rowio
│ ├── RowInputBase.java
│ ├── RowInputBinary.java
│ ├── RowInputBinary180.java
│ ├── RowInputBinaryDecode.java
│ ├── RowInputInterface.java
│ ├── RowInputText.java
│ ├── RowInputTextLog.java
│ ├── RowInputTextQuoted.java
│ ├── RowOutputBase.java
│ ├── RowOutputBinary.java
│ ├── RowOutputBinary180.java
│ ├── RowOutputBinaryEncode.java
│ ├── RowOutputInterface.java
│ ├── RowOutputText.java
│ ├── RowOutputTextLog.java
│ └── RowOutputTextQuoted.java
│ ├── sample
│ ├── ConnectionTypesSample.java
│ ├── DatabaseManagerSample.java
│ ├── FindFile.java
│ ├── SqlFileEmbedder.java
│ ├── Testdb.java
│ ├── TriggerSample.java
│ └── package.html
│ ├── scriptio
│ ├── ScriptReaderBase.java
│ ├── ScriptReaderDecode.java
│ ├── ScriptReaderText.java
│ ├── ScriptWriterBase.java
│ ├── ScriptWriterEncode.java
│ ├── ScriptWriterText.java
│ └── StatementLineTypes.java
│ ├── server
│ ├── HsqlServerFactory.java
│ ├── HsqlSocketFactory.java
│ ├── HsqlSocketFactorySecure.java
│ ├── HsqlSocketRequestHandler.java
│ ├── OdbcPacketInputStream.java
│ ├── OdbcPacketOutputStream.java
│ ├── OdbcPreparedStatement.java
│ ├── OdbcUtil.java
│ ├── PgType.java
│ ├── RecoverableOdbcFailure.java
│ ├── Server.java
│ ├── ServerAcl.java
│ ├── ServerConfiguration.java
│ ├── ServerConnection.java
│ ├── ServerConstants.java
│ ├── ServerProperties.java
│ ├── Servlet.java
│ ├── StatementPortal.java
│ ├── WebServer.java
│ ├── WebServerConnection.java
│ └── package.html
│ ├── test
│ ├── AllTests.java
│ ├── BlaineTrig.java
│ ├── ClearTests.java
│ ├── JDBCBench.java
│ ├── TestAcl.java
│ ├── TestAllTypes.java
│ ├── TestBase.java
│ ├── TestBench.java
│ ├── TestCacheSize.java
│ ├── TestCascade.java
│ ├── TestCollation.java
│ ├── TestDataCube.java
│ ├── TestDataStructures.java
│ ├── TestDatabaseMetaData.java
│ ├── TestDateTime.java
│ ├── TestDatetimeSimple.java
│ ├── TestDbBackup.java
│ ├── TestDirectorySettings.java
│ ├── TestGroupByHaving.java
│ ├── TestHTTPKeepAlive.java
│ ├── TestHarness.java
│ ├── TestHashStructures.java
│ ├── TestINPredicateParameterizationAndCorrelation.java
│ ├── TestInstantiation.java
│ ├── TestJDBCGeneratedColumns.java
│ ├── TestJDBCSavepoints.java
│ ├── TestJavaFunctions.java
│ ├── TestKarl.java
│ ├── TestLibSpeed.java
│ ├── TestLikePredicateOptimizations.java
│ ├── TestLobs.java
│ ├── TestMerge.java
│ ├── TestMultiInsert.java
│ ├── TestNullInUnion.java
│ ├── TestPeriodPredicates.java
│ ├── TestPreparedStatements.java
│ ├── TestPreparedSubQueries.java
│ ├── TestQuotes.java
│ ├── TestSchemaParse.java
│ ├── TestScript.java
│ ├── TestScriptRunner.java
│ ├── TestScripts.java
│ ├── TestSql.java
│ ├── TestSqlPeriodPredicates.java
│ ├── TestSqlPersistent.java
│ ├── TestStoredProcedure.java
│ ├── TestSubQueriesInPreparedStatements.java
│ ├── TestSubselect.java
│ ├── TestTextTable.java
│ ├── TestTextTables.java
│ ├── TestTriggers.java
│ ├── TestTypeConversion.java
│ ├── TestUpdatableResultSets.java
│ ├── TestUpdatableResults.java
│ ├── TestUtil.java
│ ├── TestViewAsterisks.java
│ ├── TriggerClass.java
│ ├── Waiter.java
│ └── odbc
│ │ ├── TestOdbcBase.java
│ │ ├── TestOdbcService.java
│ │ └── TestOdbcTypes.java
│ ├── trigger
│ └── Trigger.java
│ ├── types
│ ├── ArrayType.java
│ ├── BinaryData.java
│ ├── BinaryType.java
│ ├── BinaryUUIDType.java
│ ├── BitType.java
│ ├── BlobData.java
│ ├── BlobDataID.java
│ ├── BlobInputStream.java
│ ├── BlobType.java
│ ├── BooleanType.java
│ ├── CharacterType.java
│ ├── Charset.java
│ ├── ClobData.java
│ ├── ClobDataID.java
│ ├── ClobInputStream.java
│ ├── ClobType.java
│ ├── Collation.java
│ ├── DTIType.java
│ ├── DateTimeType.java
│ ├── IntervalMonthData.java
│ ├── IntervalSecondData.java
│ ├── IntervalType.java
│ ├── JavaObjectData.java
│ ├── JavaObjectDataInternal.java
│ ├── LobData.java
│ ├── NullType.java
│ ├── NumberType.java
│ ├── OtherType.java
│ ├── RowType.java
│ ├── TimeData.java
│ ├── TimestampData.java
│ ├── Type.java
│ ├── TypedComparator.java
│ ├── Types.java
│ └── UserTypeModifier.java
│ └── util
│ ├── Bold.gif
│ ├── CSVWriter.java
│ ├── Clear.png
│ ├── Close.png
│ ├── CodeSwitcher.java
│ ├── Colors.png
│ ├── CommonSwing.java
│ ├── ConnectionDialog.java
│ ├── ConnectionDialogCommon.java
│ ├── ConnectionDialogSwing.java
│ ├── ConnectionSetting.java
│ ├── DataAccessPoint.java
│ ├── DataAccessPointException.java
│ ├── DatabaseManager.java
│ ├── DatabaseManagerCommon.java
│ ├── DatabaseManagerSwing.java
│ ├── FontDialogSwing.java
│ ├── GreenCircle.gif
│ ├── Grid.java
│ ├── GridSwing.java
│ ├── HelperFactory.java
│ ├── Hourglass.gif
│ ├── HsqldbTransferHelper.java
│ ├── InformixTransferHelper.java
│ ├── Italic.gif
│ ├── JDBCTypes.java
│ ├── MainInvoker.java
│ ├── McKoiTransferHelper.java
│ ├── NoWay.gif
│ ├── OracleTransferHelper.java
│ ├── PostgresTransferHelper.java
│ ├── RedCircle.gif
│ ├── SQLStatements.java
│ ├── SqlServerTransferHelper.java
│ ├── TableSorter.java
│ ├── Traceable.java
│ ├── Transfer.java
│ ├── TransferCommon.java
│ ├── TransferDb.java
│ ├── TransferHelper.java
│ ├── TransferResultSet.java
│ ├── TransferSQLText.java
│ ├── TransferTable.java
│ ├── Tree.java
│ ├── hsqldb.gif
│ ├── hsqldbtab.gif
│ ├── preprocessor
│ ├── AntResolver.java
│ ├── BasicResolver.java
│ ├── Defines.java
│ ├── Document.java
│ ├── IResolver.java
│ ├── Line.java
│ ├── LineType.java
│ ├── Option.java
│ ├── Parser.java
│ ├── Preprocessor.java
│ ├── PreprocessorAntTask.java
│ ├── PreprocessorException.java
│ ├── Token.java
│ └── Tokenizer.java
│ ├── problems.gif
│ ├── run_exc.gif
│ └── run_exc_running.gif
├── stylesheets
├── chunk.xsl
├── fo.xsl
├── html-common.xsl
├── html.xsl
└── pagesetup.xsl
├── test-src
└── org
│ └── hsqldb
│ ├── ClientConnectionTest.java
│ ├── DatabaseURLTest.java
│ ├── ScannerTest.java
│ ├── auth
│ ├── AuthBeanMultiplexerTest.java
│ ├── AuthFunctionTest.java
│ ├── AuthFunctionUtils.java
│ ├── AuthSuite.java
│ ├── JaasAuthBeanTest.java
│ ├── SlaveAuthBeanTest.java
│ └── StartCharModule.java
│ ├── cmdline
│ ├── SqlFileScannerDriver.java
│ └── SqltoolRBTest.java
│ ├── jdbc
│ ├── Customer.java
│ ├── CustomerDao.java
│ ├── JDBCArrayTest.java
│ ├── JDBCBlobClientTest.java
│ ├── JDBCBlobFileTest.java
│ ├── JDBCBlobTest.java
│ ├── JDBCCallableStatementTest.java
│ ├── JDBCCallableStatementWhileClosedTest.java
│ ├── JDBCClobClientTest.java
│ ├── JDBCClobFileTest.java
│ ├── JDBCClobTest.java
│ ├── JDBCConnectionCreateStatementTest.java
│ ├── JDBCConnectionPrepareCallTest.java
│ ├── JDBCConnectionPrepareStatementTest.java
│ ├── JDBCConnectionTest.java
│ ├── JDBCDataSourceFactoryTest.java
│ ├── JDBCDataSourceTest.java
│ ├── JDBCDatabaseMetaDataSupportsConvertTest.java
│ ├── JDBCDatabaseMetaDataTest.java
│ ├── JDBCDriverTest.java
│ ├── JDBCNClobTest.java
│ ├── JDBCParameterMetaDataTest.java
│ ├── JDBCPoolTest.java
│ ├── JDBCPreparedStatementTest.java
│ ├── JDBCResultSetMetaDataTest.java
│ ├── JDBCResultSetTest.java
│ ├── JDBCRowIdTest.java
│ ├── JDBCSQLXMLTest.java
│ ├── JDBCSavepointTest.java
│ ├── JDBCStatementTest.java
│ ├── JdbcSuite.java
│ ├── ScriptedTest.java
│ ├── UtilTest.java
│ ├── pool
│ │ ├── JDBCPooledDataSourceTest.java
│ │ ├── JDBCXAConnectionTest.java
│ │ ├── JDBCXAConnectionWrapperTest.java
│ │ ├── JDBCXADataSourceTest.java
│ │ ├── JDBCXAResourceTest.java
│ │ ├── JDBCXIDTest.java
│ │ └── PoolSuite.java
│ ├── populate-all_types-table.sql
│ ├── resources
│ │ ├── sql
│ │ │ ├── TestSelf.txt
│ │ │ ├── TestSelf3PartNames.txt
│ │ │ ├── TestSelfAlterColumn.txt
│ │ │ ├── TestSelfArithmetic.txt
│ │ │ ├── TestSelfArrays.txt
│ │ │ ├── TestSelfCasewhen.txt
│ │ │ ├── TestSelfCheckConstraints.txt
│ │ │ ├── TestSelfColGrant.txt
│ │ │ ├── TestSelfConstraints.txt
│ │ │ ├── TestSelfConversions.txt
│ │ │ ├── TestSelfCreate.txt
│ │ │ ├── TestSelfFKModes.txt
│ │ │ ├── TestSelfFieldLimits.txt
│ │ │ ├── TestSelfFunction.txt
│ │ │ ├── TestSelfGrantees.txt
│ │ │ ├── TestSelfGroupBy.txt
│ │ │ ├── TestSelfImmediateShutdown.txt
│ │ │ ├── TestSelfImmediateShutdownRecover.txt
│ │ │ ├── TestSelfInPredicate.txt
│ │ │ ├── TestSelfInPredicateReferencing.txt
│ │ │ ├── TestSelfInsertDeleteQueries.txt
│ │ │ ├── TestSelfInsteadOfTriggers.txt
│ │ │ ├── TestSelfInternalFunctions.txt
│ │ │ ├── TestSelfInterval.txt
│ │ │ ├── TestSelfIssues.txt
│ │ │ ├── TestSelfJoins.txt
│ │ │ ├── TestSelfLeftJoin.txt
│ │ │ ├── TestSelfModify.txt
│ │ │ ├── TestSelfMultiGrants.txt
│ │ │ ├── TestSelfNameResolution.txt
│ │ │ ├── TestSelfNameResolutionSchemas.txt
│ │ │ ├── TestSelfNoDmlBug1.txt
│ │ │ ├── TestSelfNoDmlBug2.txt
│ │ │ ├── TestSelfNot.txt
│ │ │ ├── TestSelfOrderLimits.txt
│ │ │ ├── TestSelfPersSchemA.txt
│ │ │ ├── TestSelfPersSchemB.txt
│ │ │ ├── TestSelfPersSchemC.txt
│ │ │ ├── TestSelfPersSchemD.txt
│ │ │ ├── TestSelfPrimaryKeys.txt
│ │ │ ├── TestSelfQueries.txt
│ │ │ ├── TestSelfRightCaching.txt
│ │ │ ├── TestSelfRoleNesting.txt
│ │ │ ├── TestSelfSchemaCasc.txt
│ │ │ ├── TestSelfSchemaMisc.txt
│ │ │ ├── TestSelfSchemaPerCachTbl1.txt
│ │ │ ├── TestSelfSchemaPerCachTbl2.txt
│ │ │ ├── TestSelfSchemaPersistA1.txt
│ │ │ ├── TestSelfSchemaPersistA2.txt
│ │ │ ├── TestSelfSchemaPersistB1.txt
│ │ │ ├── TestSelfSchemaPersistB2.txt
│ │ │ ├── TestSelfSchemaPersistC1.txt
│ │ │ ├── TestSelfSchemaPersistC2.txt
│ │ │ ├── TestSelfSchemaQuoting.txt
│ │ │ ├── TestSelfSeqRightsA.txt
│ │ │ ├── TestSelfSeqRightsB.txt
│ │ │ ├── TestSelfSeqRightsC.txt
│ │ │ ├── TestSelfStoredProcedure.txt
│ │ │ ├── TestSelfStoredProcedureTypes.txt
│ │ │ ├── TestSelfSubselects.txt
│ │ │ ├── TestSelfSysTables.txt
│ │ │ ├── TestSelfTempTable1.txt
│ │ │ ├── TestSelfTempTable2.txt
│ │ │ ├── TestSelfTransaction.txt
│ │ │ ├── TestSelfTriggers.txt
│ │ │ ├── TestSelfTriggers2.txt
│ │ │ ├── TestSelfTrimSimplified.txt
│ │ │ ├── TestSelfUnions.txt
│ │ │ ├── TestSelfUserFunction.txt
│ │ │ ├── TestSelfVerify.txt
│ │ │ ├── TestSelfViewGrants.txt
│ │ │ ├── TestSelfViewSchemaResolve.txt
│ │ │ ├── TestSelfViews.txt
│ │ │ ├── TestText01.txt
│ │ │ ├── TestText02.txt
│ │ │ └── TestTriggers.txt
│ │ └── xml
│ │ │ ├── MyDoc.xml.zip
│ │ │ ├── MyEntity.ent
│ │ │ ├── mydoc_1_0.dtd
│ │ │ ├── websvc_ref.dtd
│ │ │ └── websvc_ref.xml.zip
│ ├── setup-all_array_types-table.sql
│ ├── setup-all_types-table.sql
│ ├── setup-dual-table.sql
│ ├── setup-jdbc_required_get_xxx-table.sql
│ ├── setup-sample-data-tables.sql
│ └── testbase
│ │ ├── BaseArrayTestCase.java
│ │ ├── BaseBlobTestCase.java
│ │ ├── BaseCallableStatementTestCase.java
│ │ ├── BaseClobTestCase.java
│ │ ├── BaseDatabaseMetaDataSupportsConvertTestCase.java
│ │ ├── BaseDatabaseMetaDataTestCase.java
│ │ ├── BaseDriverTestCase.java
│ │ ├── BaseJdbcTestCase.java
│ │ ├── BaseResultSetMetaDataTestCase.java
│ │ ├── DatabaseMetaDataDefaultValues.java
│ │ └── SqlState.java
│ ├── lib
│ ├── ArrayUtilTest.java
│ ├── DoubleIntIndexTest.java
│ ├── FileAccessResTest.java
│ ├── HsqlArrayHeapTest.java
│ ├── HsqlDequeTest.java
│ ├── HsqlTimerTest.java
│ ├── TestWrapperIterator.java
│ └── tar
│ │ └── PIFGeneratorTest.java
│ ├── map
│ ├── BitMapTest.java
│ └── ValuePoolHashMapTest.java
│ ├── persist
│ └── HsqlPropertiesTest.java
│ ├── resources
│ ├── jaas.cfg
│ ├── odbcPacket.data
│ ├── pif.data
│ ├── sqlstate-condition.properties
│ ├── sqlstate-subcondition.properties
│ ├── test-dbmd-convert.properties
│ └── test.properties
│ ├── server
│ ├── OdbcPacketInputStreamTest.java
│ ├── OdbcPacketOutputStreamTest.java
│ └── ServerSuite.java
│ ├── testbase
│ ├── BaseScriptedTestCase.java
│ ├── BaseTestCase.java
│ ├── ConnectionFactory.java
│ ├── ForSubject.java
│ ├── HsqldbEmbeddedDatabaseCloser.java
│ ├── HsqldbEmbeddedDatabaseDeleter.java
│ ├── OfMethod.java
│ ├── PropertyGetter.java
│ └── ScriptIterator.java
│ ├── types
│ └── IntervalTypeTest.java
│ └── util
│ └── preprocessor
│ ├── ATest.exp
│ ├── ATest.src
│ ├── Jdbc2.inc
│ ├── Jdbc3.inc
│ ├── Jdbc4.inc
│ ├── Main.inc
│ ├── OptionTest.java
│ ├── PreprocessorSuite.java
│ └── PreprocessorTest.java
└── testrun
├── hsqldb
├── TestSelf.txt
├── TestSelf3PartNames.txt
├── TestSelfAlterColumn.txt
├── TestSelfArithmetic.txt
├── TestSelfArrays.txt
├── TestSelfCasewhen.txt
├── TestSelfCheckConstraints.txt
├── TestSelfColGrant.txt
├── TestSelfConstraints.txt
├── TestSelfConversions.txt
├── TestSelfCreate.txt
├── TestSelfFKModes.txt
├── TestSelfFieldLimits.txt
├── TestSelfFunction.txt
├── TestSelfGrantees.txt
├── TestSelfGroupBy.txt
├── TestSelfImmediateShutdown.txt
├── TestSelfImmediateShutdownRecover.txt
├── TestSelfInPredicateReferencing.txt
├── TestSelfInsertDeleteQueries.txt
├── TestSelfInsteadOfTriggers.txt
├── TestSelfInternalFunctions.txt
├── TestSelfInterval.txt
├── TestSelfIssues.txt
├── TestSelfJoins.txt
├── TestSelfLeftJoin.txt
├── TestSelfModify.txt
├── TestSelfMultiGrants.txt
├── TestSelfNameResolution.txt
├── TestSelfNameResolutionSchemas.txt
├── TestSelfNoDmlBug1.txt
├── TestSelfNoDmlBug2.txt
├── TestSelfNot.txt
├── TestSelfPersSchemA.txt
├── TestSelfPersSchemB.txt
├── TestSelfPersSchemC.txt
├── TestSelfPersSchemD.txt
├── TestSelfPrimaryKeys.txt
├── TestSelfQueries.txt
├── TestSelfRightCaching.txt
├── TestSelfRoleNesting.txt
├── TestSelfSchemaCasc.txt
├── TestSelfSchemaMisc.txt
├── TestSelfSchemaPerCachTbl1.txt
├── TestSelfSchemaPerCachTbl2.txt
├── TestSelfSchemaPersistA1.txt
├── TestSelfSchemaPersistA2.txt
├── TestSelfSchemaPersistB1.txt
├── TestSelfSchemaPersistB2.txt
├── TestSelfSchemaPersistC1.txt
├── TestSelfSchemaPersistC2.txt
├── TestSelfSchemaQuoting.txt
├── TestSelfSeqRightsA.txt
├── TestSelfSeqRightsB.txt
├── TestSelfSeqRightsC.txt
├── TestSelfStoredProcedure.txt
├── TestSelfStoredProcedureTypes.txt
├── TestSelfSubselects.txt
├── TestSelfSysTables.txt
├── TestSelfTempTable1.txt
├── TestSelfTempTable2.txt
├── TestSelfTransaction.txt
├── TestSelfTriggers.txt
├── TestSelfTriggers2.txt
├── TestSelfTrimSimplified.txt
├── TestSelfUnions.txt
├── TestSelfUserFunction.txt
├── TestSelfVerify.txt
├── TestSelfViewGrants.txt
├── TestSelfViewSchemaResolve.txt
├── TestSelfViews.txt
├── TestText01.txt
├── TestText02.txt
└── TestTriggers.txt
├── hsqlodbc
└── blobtest.py
└── sqltool
├── README.txt
├── adv-comments.sql
├── altspace.targtbl.dsv
├── append.inter
├── at-chainer.sql
├── badsqlonly.nsql
├── buffer-vars.sql
├── build.gradle
├── comments.sql
├── csv-1charquoted.csv
├── csv-1charquoted.sql
├── csv-quotedcolheaders.csv
├── csv-quotedcolheaders.sql
├── csv-roundtrip.sql
├── dsv-abortcommits.sql
├── dsv-altspace.sql
├── dsv-constcols.dsv
├── dsv-constcols.sql
├── dsv-multiline.sql
├── dsv-omits.dsv
├── dsv-omits.sql
├── dsv-prepare.sql
├── dsv-rejects.dsv
├── dsv-rejects.sql
├── dsv-roundtrip.sql
├── dsv-rpcommit.dsv
├── dsv-rpcommit.sql
├── dsv-sqlarray.sql
├── dsv-trimall.dsv
├── dsv-trimall.sql
├── dsv-trimming-alt.dsv
├── dsv-trimming.dsv
├── dsv-trimming.sql
├── else.sql
├── errhandling.isql
├── errhandling.nsql
├── errhandling.sql
├── errhandlingn.isql
├── for.sql
├── forrows.sql
├── function.sql
├── goodsqlonly.sql
├── history.inter
├── inlineif.sql
├── j.sql
├── lastval.sql
├── logic.sql
├── logical-ops.sql
├── macro.inter
├── macro.sql
├── math.sql
├── nestingschema.sql
├── noop.sql
├── nq-arg1.isql
├── nq-arg1.nsql
├── nq-noarg1.isql
├── nq-noarg1.sql
├── nullempty.sql
├── nullrep-alt.dsv
├── nullrep.dsv
├── nullrep.sql
├── plcontrolflow.sql
├── q-arg1.nsql
├── q-noarg1.sql
├── rawmode.sql
├── return.isql
├── return.sql
├── rowcount.sql
├── runtests.bash
├── runtests.cmd
├── runtests.groovy
├── sqlarray.sql
├── sqljrt.sql
├── sqlpsm.sql
├── subdir
├── atuser.sql
├── tblx.dsv
└── tblx.sql
├── subst.inter
├── testcases.txt
├── unseteval.nsql
├── unsetvar.nsql
├── unsetvar.sql
├── urlnester.sql
├── varnestee.isql
├── varnester.sql
├── vars.sql
├── varswithspaces.sql
└── write.inter
/.gitignore:
--------------------------------------------------------------------------------
1 | /bin/
2 | /.settings/
3 | /.classpath
4 | /.project
5 | /dist/
6 | /build/
7 | /nbproject/
8 | /data/
9 | /error.lock
10 | /error.txt
11 | /test.out.txt
12 | .DS_Store
13 | /.idea/
14 | *.iml
15 | *.ipr
16 | *.iws
17 | .checkstyle
18 | /temp/
19 | /h2web/
20 | .pmd
21 | docs/html/testOutput.html
22 | target
23 | .settings
24 | .classpath
25 | .project
26 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ### 项目用途
2 |
3 | * [HSQLDB数据库](http://www.hsqldb.org/) 源代码学习研究(包括代码注释、文档、用于代码分析的测试用例)
4 |
5 |
6 | ### 目录结构
7 |
8 | * my-docs: 综合文档
9 |
10 | * my-test: 用于代码分析的测试用例
11 |
12 | * src: HSQLDB数据库的最新源代码,在源代码中附加了便于分析理解代码的注释
13 |
14 |
15 | ### 把代码导入Eclipse
16 |
17 | * 运行 mvn eclipse:eclipse 生成Eclipse项目,打开Eclipse,选择File -> Import -> Existing Projects into Workspace
18 |
19 |
20 | ### 运行或调试HSQLDB
21 |
22 | * 右击 /hsqldb-research/my-test/java/my/test/HsqldbServerStart.java 文件,点Run As或Debug As -> Java Application
23 |
24 | * 如果出现"Startup sequence completed"这样的提示就说明启动成功啦
25 |
26 |
27 | ### 测试
28 |
29 | * my.test 包中的类几乎都可直接运行
30 |
--------------------------------------------------------------------------------
/bin/memorydbmanager.html:
--------------------------------------------------------------------------------
1 |
HyperSQL Database applet
2 |
3 | In-Memory Applet: Database Manager
4 |
7 |
8 | Connect to the default memory database with the connection dialogue. Then use the menu and select
9 | Option -> Insert Test Data to populate the sample database.
10 |
11 | The menu item Recent has some SELECT statements to try. You can enter your own data and use your own queries.
12 |
13 |
14 | The database is running as an applet inside the web browser and all data is kept in memory.
15 | The data will be lost if the browser window is closed.
16 |
17 | If the database window does not show, there may be a setup problem.
18 | This demo requires Java 1.6 and has been tested with Mozilla Firefox.
19 |
--------------------------------------------------------------------------------
/bin/runManager.bat:
--------------------------------------------------------------------------------
1 | cd ..\data
2 | @java -classpath ..\lib\hsqldb.jar org.hsqldb.util.DatabaseManager %1 %2 %3 %4 %5 %6 %7 %8 %9
3 |
--------------------------------------------------------------------------------
/bin/runManagerSwing.bat:
--------------------------------------------------------------------------------
1 | cd ..\data
2 | @java -classpath ..\lib\hsqldb.jar org.hsqldb.util.DatabaseManagerSwing %1 %2 %3 %4 %5 %6 %7 %8 %9
3 |
--------------------------------------------------------------------------------
/bin/runServer.bat:
--------------------------------------------------------------------------------
1 | cd ..\data
2 | @java -classpath ../lib/hsqldb.jar org.hsqldb.server.Server %1 %2 %3 %4 %5 %6 %7 %8 %9
3 |
--------------------------------------------------------------------------------
/bin/runUtil.bat:
--------------------------------------------------------------------------------
1 | cd ..\data
2 | @java -classpath ..\lib\hsqldb.jar org.hsqldb.util.%1 %2 %3 %4 %5 %6 %7 %8 %9
3 |
--------------------------------------------------------------------------------
/bin/runWebServer.bat:
--------------------------------------------------------------------------------
1 | cd ..\data
2 | @java -classpath ..\lib\hsqldb.jar org.hsqldb.server.WebServer %1 %2 %3 %4 %5 %6 %7 %8 %9
3 |
--------------------------------------------------------------------------------
/build/antivy-setup.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 | An Ant target that you have invoked, directly or indirectly, has been changed
11 | to reply upon Gradle.
12 | Please rerun your Ant command as a Gradle command, using 'gradlew' in place of
13 | 'ant'.
14 |
15 |
16 |
--------------------------------------------------------------------------------
/build/build.hsqldb.cmd:
--------------------------------------------------------------------------------
1 | call setenv.cmd
2 | ant clean hsqldb
3 |
--------------------------------------------------------------------------------
/build/build.hsqldbtest.cmd:
--------------------------------------------------------------------------------
1 | call setenv.cmd
2 | ant clean hsqldb hsqldbtest
--------------------------------------------------------------------------------
/build/build.javadoc.cmd:
--------------------------------------------------------------------------------
1 | call setenv.cmd
2 | call ant clean javadoc
3 |
4 | pause
--------------------------------------------------------------------------------
/build/build.sqltool.cmd:
--------------------------------------------------------------------------------
1 | call setenv.cmd
2 | ant clean sqltool
--------------------------------------------------------------------------------
/build/build.test.suite.cmd:
--------------------------------------------------------------------------------
1 | call setenv.cmd
2 | ant clean hsqldb preprocessor sqltool
3 | ant -f test.xml clean.test.suite make.test.suite
--------------------------------------------------------------------------------
/build/clean.test.suite.cmd:
--------------------------------------------------------------------------------
1 | call setenv.cmd
2 | ant -f test.xml clean.test.suite
--------------------------------------------------------------------------------
/build/dbuInstallSheetsWrapper.groovy:
--------------------------------------------------------------------------------
1 | retVal = DocBookUtil.installStyleSheets(params[0], params[1])
2 |
--------------------------------------------------------------------------------
/build/gradle-gui:
--------------------------------------------------------------------------------
1 | #!/bin/bash -p
2 |
3 | # $Id$
4 | # Distribution is permitted under the terms of the HSQLDB license.
5 | # (c) 2011 The HSQL Development Group
6 |
7 | # This script automatically 'cd's to directory .../testrun/sqltool in which
8 | # it resides, so that it may be safely executed from desktop managers, etc.
9 | # The main work script, "runtests.groovy" does not have this limitation.
10 | #
11 | # author: Blaine Simpson of the HSQL Development Group
12 |
13 | case "$0" in
14 | /*) SCRIPTDIR="${0%/*}";; */*) SCRIPTDIR="$PWD/${0%/*}";; *) SCRIPTDIR="$PWD";;
15 | esac
16 | case "$SCRIPTDIR" in *?/.) SCRIPTDIR="${SCRIPTDIR%/.}"; esac
17 |
18 | cd "$SCRIPTDIR"
19 |
20 | # If there is no settings file in place, start user with our customized one:
21 | [ -e gradle-app.setting ] || cp gui-initial.setting gradle-app.setting
22 |
23 | # Change JVM settings here:
24 | exec ./gradlew --gui "$@" &
25 |
--------------------------------------------------------------------------------
/build/gradle-ivyxml-plugin-0.3.2.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codefollower/HSQLDB-Research/b845916d29d3c7aa92fa1d20b502545c10d620d6/build/gradle-ivyxml-plugin-0.3.2.jar
--------------------------------------------------------------------------------
/build/gradle-javaPropFile-plugin-0.6.0.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codefollower/HSQLDB-Research/b845916d29d3c7aa92fa1d20b502545c10d620d6/build/gradle-javaPropFile-plugin-0.6.0.jar
--------------------------------------------------------------------------------
/build/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codefollower/HSQLDB-Research/b845916d29d3c7aa92fa1d20b502545c10d620d6/build/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/build/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Mon Oct 20 11:26:12 EDT 2014
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-1.12-bin.zip
7 |
--------------------------------------------------------------------------------
/build/gui-initial.setting:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/build/gui-welcome.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | Please stand by as Gradle starts up...
10 |
11 |
12 |
13 | This window will remain after it's started.
14 | If it annoys you, please minimize it. (Do not close it!)
15 |
16 |
17 |
--------------------------------------------------------------------------------
/build/hsqldb.bnd:
--------------------------------------------------------------------------------
1 | # File for use by 'bnd' utility for generating OSGi Bundle descriptions.
2 | # http://www.aqute.biz/Code/Bnd
3 |
4 | Bundle-Version: ${hsqldb.version}
5 | Build-Vendor: ${build.vendor}
6 | Bundle-Description: ${build.description}
7 | Bundle-Name: ${hsqldb.title}
8 | Bundle-SymbolicName: org.hsqldb.hsqldb
9 |
--------------------------------------------------------------------------------
/build/ivysettings-sample.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/build/jdkcodeswitch.list:
--------------------------------------------------------------------------------
1 | # Files listed here will be code-switched
2 | # This eliminates the need for CodeSwitcher to scan all source files.
3 | # Version 2.5.0
4 |
5 | org/hsqldb/FunctionCustom.java
6 | org/hsqldb/jdbc/JDBCCallableStatement.java
7 | org/hsqldb/jdbc/JDBCDatabaseMetaData.java
8 | org/hsqldb/jdbc/JDBCDriver.java
9 | org/hsqldb/jdbc/JDBCPreparedStatement.java
10 | org/hsqldb/jdbc/JDBCResultSet.java
11 | org/hsqldb/jdbc/JDBCStatement.java
12 | org/hsqldb/persist/HsqlDatabaseProperties.java
13 | org/hsqldb/types/CharacterType.java
14 | org/hsqldb/types/DateTimeType.java
15 | org/hsqldb/types/IntervalType.java
16 |
--------------------------------------------------------------------------------
/build/rng-catalog-template.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
8 |
10 |
15 |
16 |
--------------------------------------------------------------------------------
/build/run.test.suite.cmd:
--------------------------------------------------------------------------------
1 | call setenv.cmd
2 | ant -f test.xml run.test.suite
--------------------------------------------------------------------------------
/build/setenv.cmd:
--------------------------------------------------------------------------------
1 | REM basic environment setup
2 | REM change as needed
3 |
4 | set JAVA_HOME=C:\Program Files\Java\jdk7
5 | set ANT_HOME=C:\java\lib\ant
6 | set ANT_OPTS=-Xmx512m
7 | set PATH=%JAVA_HOME%\bin;%ANT_HOME%\bin;%PATH%
--------------------------------------------------------------------------------
/build/settings.gradle:
--------------------------------------------------------------------------------
1 | //According to Adam Murdoch at
2 | // http://gradle.1045684.n5.nabble.com/Changing-project-name-within-a-build-script-td3321614.html
3 | //"For the Gradle 1.0 release, we plan to merge the settings.gradle script into
4 | // the build script".
5 | rootProject.name = 'hsqldb'
6 |
7 | // Following work-around needed when use -b switch to Gradle, per
8 | // http://forums.gradle.org/gradle/topics/how_change_project_name_when_using_non_build_gradle_build_file
9 | if (startParameter.buildFile)
10 | rootProject.buildFileName = startParameter.buildFile.name
11 |
--------------------------------------------------------------------------------
/build/test.dbmd.convert.properties:
--------------------------------------------------------------------------------
1 | ## Note:
2 | ##
3 | ## Most test.dbmd.convert properties have been moved to /org/hsqldb/resources
4 | ## under the test source folder and are now read using the bundle handler facility.
5 | ##
6 | ## System properties now take precedence, so you can use this file
7 | ## to override the values in the default test.dbmd.convert properties file.
--------------------------------------------------------------------------------
/build/test.properties:
--------------------------------------------------------------------------------
1 | ## Note:
2 | ##
3 | ## Most test properties have been moved to /org/hsqldb/resources
4 | ## under the test source folder and are now read using the bundle handler facility.
5 | ##
6 | ## System properties now take precedence, so you can use this file
7 | ## to override the values in the default test.properties file.
--------------------------------------------------------------------------------
/doc-src/apidocs/hsqldbs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codefollower/HSQLDB-Research/b845916d29d3c7aa92fa1d20b502545c10d620d6/doc-src/apidocs/hsqldbs.png
--------------------------------------------------------------------------------
/doc-src/branding-frag.xhtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |

5 |
6 |
--------------------------------------------------------------------------------
/doc-src/entities/global.ent:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | %dummy33;
7 |
8 |
9 |
12 |
13 |
14 |
15 | %dummy31;
18 |
27 |
--------------------------------------------------------------------------------
/doc-src/entities/validation_only.ent:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/doc-src/guide/dsndef.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codefollower/HSQLDB-Research/b845916d29d3c7aa92fa1d20b502545c10d620d6/doc-src/guide/dsndef.png
--------------------------------------------------------------------------------
/doc-src/guide/dsnoptions1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codefollower/HSQLDB-Research/b845916d29d3c7aa92fa1d20b502545c10d620d6/doc-src/guide/dsnoptions1.png
--------------------------------------------------------------------------------
/doc-src/guide/dsnoptions2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codefollower/HSQLDB-Research/b845916d29d3c7aa92fa1d20b502545c10d620d6/doc-src/guide/dsnoptions2.png
--------------------------------------------------------------------------------
/doc-src/guide/eclipse-gradle-cfg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codefollower/HSQLDB-Research/b845916d29d3c7aa92fa1d20b502545c10d620d6/doc-src/guide/eclipse-gradle-cfg.png
--------------------------------------------------------------------------------
/doc-src/guide/eclipse-gradle-invoke.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codefollower/HSQLDB-Research/b845916d29d3c7aa92fa1d20b502545c10d620d6/doc-src/guide/eclipse-gradle-invoke.png
--------------------------------------------------------------------------------
/doc-src/guide/gradle-gui.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codefollower/HSQLDB-Research/b845916d29d3c7aa92fa1d20b502545c10d620d6/doc-src/guide/gradle-gui.png
--------------------------------------------------------------------------------
/doc-src/hsqldb_lic.txt:
--------------------------------------------------------------------------------
1 | /* Copyright (c) 2001-2019, The HSQL Development Group
2 | * All rights reserved.
3 | *
4 | * Redistribution and use in source and binary forms, with or without
5 | * modification, are permitted provided that the following conditions are met:
6 | *
7 | * Redistributions of source code must retain the above copyright notice, this
8 | * list of conditions and the following disclaimer.
9 | *
10 | * Redistributions in binary form must reproduce the above copyright notice,
11 | * this list of conditions and the following disclaimer in the documentation
12 | * and/or other materials provided with the distribution.
13 | *
14 | * Neither the name of the HSQL Development Group nor the names of its
15 | * contributors may be used to endorse or promote products derived from this
16 | * software without specific prior written permission.
17 | *
18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 | * ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG,
22 | * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | */
30 |
31 |
32 |
--------------------------------------------------------------------------------
/doc-src/images/db/home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codefollower/HSQLDB-Research/b845916d29d3c7aa92fa1d20b502545c10d620d6/doc-src/images/db/home.png
--------------------------------------------------------------------------------
/doc-src/images/db/next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codefollower/HSQLDB-Research/b845916d29d3c7aa92fa1d20b502545c10d620d6/doc-src/images/db/next.png
--------------------------------------------------------------------------------
/doc-src/images/db/prev.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codefollower/HSQLDB-Research/b845916d29d3c7aa92fa1d20b502545c10d620d6/doc-src/images/db/prev.png
--------------------------------------------------------------------------------
/doc-src/images/db/up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codefollower/HSQLDB-Research/b845916d29d3c7aa92fa1d20b502545c10d620d6/doc-src/images/db/up.png
--------------------------------------------------------------------------------
/doc-src/images/hypersql_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codefollower/HSQLDB-Research/b845916d29d3c7aa92fa1d20b502545c10d620d6/doc-src/images/hypersql_logo.png
--------------------------------------------------------------------------------
/doc-src/images/hypersql_logo2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codefollower/HSQLDB-Research/b845916d29d3c7aa92fa1d20b502545c10d620d6/doc-src/images/hypersql_logo2.png
--------------------------------------------------------------------------------
/doc-src/readme-docauthors.txt:
--------------------------------------------------------------------------------
1 | $Id$
2 |
3 | BUILDING
4 |
5 | You need JDK 1.5 or later and Ant 1.7 or later.
6 |
7 | Run "ant gen-docs" from the build subdirectory.
8 | Error messages should be self-explanatory.
9 |
10 |
11 | SYSTEM
12 |
13 | See http://pub.admc.com/howtos/ant-docbook-howto/system-chapt.html#system-features-sect and
14 | http://pub.admc.com/howtos/ant-docbook-howto/tips-app.html for
15 | important tips. This HOWTO document explains the build system used here.
16 |
17 |
18 | EDITING
19 |
20 | Use DocBook v. 5 syntax in your DocBook source XML files.
21 |
22 | Because of the amount of extra infrastructure needed for DocBook olinking,
23 | we are not supporting direct inter-document linking. If you want to refer
24 | from one DocBook document to content in another one, then add a link to
25 | the canonical document (like using a &distro_bseurl;/guide/index.html link)
26 | and just describe the location referred to.
27 |
28 | Top-level DocBook source files for individual DocBook documents reside at
29 | doc-src/X/X.xml. Other files may be xincluded into these files, and lots of
30 | other resources are referenced or pulled in from under doc-src.
31 |
32 | Please use the product name HyperSQL in major titles. Where introducing
33 | HyperSQL, use a subtitle like "aka HSQLDB".
34 | In the text, use "HyperSQL" as the product name.
35 | In filepaths and package names you code as required for the filepath or package
36 | name, of course.
37 |
38 | Don't capitalize words or phrases to emphasize them (including in
39 | section titles or headings).
40 | If you want to emphasize something a certain way, then use a DocBook emphasis
41 | role, and leave the presentation decisions to the style sheets.
42 | It is very easy to set a CSS style to capitalize headings if you want them to
43 | appear that way.
44 |
--------------------------------------------------------------------------------
/doc-src/readme-template.txt:
--------------------------------------------------------------------------------
1 | Readme File
2 | ${timestamp}
3 | This package contains HyperSQL v. ${hsqldb.version}
4 |
5 | HyperSQL Database is a relational database management system and a set of tools
6 | written in Java.
7 | HyperSQL is also known as HSQLDB.
8 |
9 | The file "index.html" explains the contents of this distribution and has
10 | links to documentation and support resources.
11 |
--------------------------------------------------------------------------------
/doc-src/util-guide/entities/versions.ent:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/doc-src/util-guide/html-report.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codefollower/HSQLDB-Research/b845916d29d3c7aa92fa1d20b502545c10d620d6/doc-src/util-guide/html-report.png
--------------------------------------------------------------------------------
/doc-src/util-guide/rejreport-sample.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codefollower/HSQLDB-Research/b845916d29d3c7aa92fa1d20b502545c10d620d6/doc-src/util-guide/rejreport-sample.png
--------------------------------------------------------------------------------
/doc-src/verbatim/sample/acl.txt:
--------------------------------------------------------------------------------
1 | # $Id$
2 |
3 | # Sample HyperSQL Network Listener ACL file.
4 | # Specify "allow" and "deny" rules
5 | # For address specifications, individual addresses, host names, and
6 | # network addresses with /bit suffix are allowed, but read the caveat about
7 | # host names below, under the sample "localhost" rule.
8 |
9 | # Blank lines ignored.
10 | # Lines with # as the first non-whitespace character are ignored.
11 |
12 |
13 | allow 2001:db8::/32
14 | # Allow this 32-bit ipv4 subnet
15 |
16 | allow localhost
17 | # You should use numerical addresses in ACL files, unless you are certain that
18 | # the name will always be known to your network address resolution system
19 | # (assume that you will lose Internet connectivity at some time).
20 | # With a default name resolution setup on UNIX, you are safe to use names
21 | # defined in your /etc/hosts file.
22 |
23 | deny 192.168.101.253
24 | # Deny a single IP address.
25 | # In our example, 192.168.101.0/24 is our local, organizational network.
26 | # 192.168.101.253 is the IP address of our Intern's PC.
27 | # The Intern does not have permission to access our databases directly.
28 |
29 | allow 192.168.101.0/24
30 |
31 | # Any ipv4 or ipv6 candidate address not matched above will be denied
32 |
--------------------------------------------------------------------------------
/doc-src/verbatim/sample/dsv-sample.sql:
--------------------------------------------------------------------------------
1 | /*
2 | * $Id$
3 | *
4 | * Imports delimiter-separated-values, and generates an output
5 | * reject .dsv file, and a reject report.
6 | *
7 | * To execute, set up a SqlTool database urlid (see User Guide if you don't
8 | * know how to do that); then (from this directory) execute this script like
9 | *
10 | * java ../lib/hsqldb.jar mem dsv-sample.sql
11 | *
12 | * (replace "mem" with your urlid).
13 | */
14 |
15 | CREATE TABLE sampletable(i INT, d DATE NOT NULL, b BOOLEAN);
16 |
17 | /* If you dont' set *DSV_TARGET_TABLE, it defaults to the base name of the
18 | .dsv file. */
19 | * *DSV_TARGET_TABLE = sampletable
20 |
21 | \p WARNING: Some records will be skipped, and some others will be rejected.
22 | \p This is on purpose, so you can work with a reject report.
23 | \p
24 |
25 | /* By default, no reject files are written, and the import will abort upon
26 | * the first error encountered. If you set either of these settings, the
27 | * import will continue to completion if at all possible. */
28 | * *DSV_REJECT_FILE = ${java.io.tmpdir}/sample-reject.dsv
29 | * *DSV_REJECT_REPORT = ${java.io.tmpdir}/sample-reject.html
30 | \m sample.dsv
31 |
32 | /* Enable this line if you want to display all successfully imported data:
33 | SELECT * FROM sampletable;
34 | */
35 |
36 | \p
37 | \p See import reject report at '*{*DSV_REJECT_REPORT}'.
38 |
--------------------------------------------------------------------------------
/doc-src/verbatim/sample/html-report.sql:
--------------------------------------------------------------------------------
1 | /*
2 | * $Id$
3 | *
4 | * Sample/Template for writing an HTML Report
5 | */
6 |
7 | -- Populate sample data
8 | create table t (i integer, vc varchar(20));
9 | insert into t values(1, 'one');
10 | insert into t values(2, 'two');
11 | insert into t values(3, 'three');
12 | insert into t values(4, 'four');
13 | insert into t values(5, 'five');
14 | commit;
15 |
16 |
17 | -- IMPORTANT: \o will append by default. If you want to write a new file,
18 | -- it's your responsibility to check that a file of the same name does not
19 | -- already exist (or remove it).
20 |
21 |
22 | -- Follow the following examples to use your own HTML fragment files.
23 | -- * *TOP_HTMLFRAG_FILE = /tmp/top.html
24 | -- * *BOTTOM_HTMLFRAG_FILE = /tmp/bottom.html
25 |
26 | -- The default TOP_HTMLFRAG_FILE has a reference to this PL variable.
27 | * REPORT_TITLE = Blaine's Sample Report
28 | -- The default will also override its CSS style settings with your own if you
29 | -- put them in a file named "overrides.css" in same directory alongside your
30 | -- reports ("report.html" in this example).
31 | -- You can add references to ${system.properties} and *{PL_VARIABLES} in
32 | -- your own custom fragment files too.
33 |
34 |
35 | -- Turn on HTML output mode.
36 | -- Must enable HTML _before_ opening to write top frag.
37 | \h true
38 | \o report.html
39 | \p A message to appear in the Report
40 | SELECT * FROM t;
41 |
42 | -- Close off output just to show that you can go back and forth.
43 | -- A close with '\o' will not write the bottom boilerplate that closes the HTML.
44 | \o
45 | \h false
46 | \p Some non-HTML non-Report output:
47 | SELECT count(*) FROM t;
48 |
49 | \h true
50 | -- Re-open the report
51 | \o report.html
52 | \d t
53 | -- This time close it with
54 | \oc
55 |
--------------------------------------------------------------------------------
/doc-src/verbatim/sample/plsql.sql:
--------------------------------------------------------------------------------
1 | /*
2 | * $Id$
3 | *
4 | * This example is copied from the "Simple Programs in PL/SQL"
5 | * example by Yu-May Chang, Jeff Ullman, Prof. Jennifer Widom at
6 | * the Standord University Database Group's page
7 | * http://www-db.stanford.edu/~ullman/fcdb/oracle/or-plsql.html .
8 | * I have only removed some blank lines (in case somebody wants to
9 | * copy this code interactively-- because you can't use blank
10 | * lines inside of SQL commands in non-raw mode SqlTool when running
11 | * it interactively); and, at the bottom I have replaced the
12 | * client-specific, non-standard command "run;" with SqlTool's
13 | * corresponding command ".;" and added a plain SQL SELECT command
14 | * to show whether the PL/SQL code worked. - Blaine
15 | */
16 |
17 | CREATE TABLE T1(
18 | e INTEGER,
19 | f INTEGER
20 | );
21 |
22 | DELETE FROM T1;
23 |
24 | INSERT INTO T1 VALUES(1, 3);
25 |
26 | INSERT INTO T1 VALUES(2, 4);
27 |
28 | /* Above is plain SQL; below is the PL/SQL program. */
29 | DECLARE
30 |
31 | a NUMBER;
32 |
33 | b NUMBER;
34 |
35 | BEGIN
36 |
37 | SELECT e,f INTO a,b FROM T1 WHERE e>1;
38 |
39 | INSERT INTO T1 VALUES(b,a);
40 |
41 | END;
42 |
43 | .;
44 | /** The statement on the previous line, ".;" is SqlTool specific.
45 | * This command says to save the input up to this point to the
46 | * edit buffer and send it to the database server for execution.
47 | * I added the SELECT statement below to give imm
48 | */
49 |
50 | /* This should show 3 rows, one containing values 4 and 2 (in this order)...*/
51 | SELECT * FROM t1;
52 |
--------------------------------------------------------------------------------
/doc-src/verbatim/sample/sample.sql:
--------------------------------------------------------------------------------
1 | /*
2 | $Id$
3 | Exemplifies use of SqlTool.
4 | PCTASK Table creation
5 | */
6 |
7 | /* Ignore error for these two statements */
8 | \c true
9 | DROP TABLE pctasklist;
10 | DROP TABLE pctask;
11 | \c false
12 |
13 | \p Creating table pctask
14 | CREATE TABLE pctask (
15 | id integer identity,
16 | name varchar(40),
17 | description varchar(256),
18 | url varchar(80),
19 | UNIQUE (name)
20 | );
21 |
22 | \p Creating table pctasklist
23 | CREATE TABLE pctasklist (
24 | id integer identity,
25 | host varchar(20) not null,
26 | tasksequence int not null,
27 | pctask integer,
28 | assigndate timestamp default current_timestamp,
29 | completedate timestamp,
30 | show boolean default true,
31 | FOREIGN KEY (pctask) REFERENCES pctask,
32 | UNIQUE (host, tasksequence)
33 | );
34 |
35 | \p Granting privileges
36 | GRANT select ON pctask TO public;
37 | GRANT all ON pctask TO tomcat;
38 | GRANT select ON pctasklist TO public;
39 | GRANT all ON pctasklist TO tomcat;
40 |
41 | \p Inserting test records
42 | INSERT INTO pctask (name, description, url) VALUES (
43 | 'task one', 'Description for task 1', 'http://cnn.com');
44 | INSERT INTO pctasklist (host, tasksequence, pctask) VALUES (
45 | 'admc-masq', 101, (SELECT id FROM pctask WHERE name = 'task one'));
46 |
47 | commit;
48 |
--------------------------------------------------------------------------------
/doc-src/verbatim/sample/server.properties:
--------------------------------------------------------------------------------
1 | # Hsqldb Server cfg file.
2 | # See the HyperSQL Network Listeners chapter of the HyperSQL User Guide.
3 |
4 | # Each server.database.X setting defines a database "catalog".
5 | # I.e., an independent set of data.
6 | # Each server.database.X setting corresponds exactly to the jdbc:hsqldb:*
7 | # JDBC URL you would use if you wanted to get a direct (In-Process)
8 | # Connection to the catalog instead of "serving" it.
9 |
10 | server.database.0=file:db0/db0
11 | # I suggest that, for every file: catalog you define, you add the
12 | # connection property "ifexists=true" after the database instance
13 | # is created (which happens simply by starting the Server one time).
14 | # Just append ";ifexists=true" to the file: URL, like so:
15 | # server.database.0=file:db0/db0;ifexists=true
16 |
17 | # server.dbname.0 defaults to "" (i.e. server.dbname.n for n==0), but
18 | # the catalog definition n will be entirely ignored for n > 0 if you do not
19 | # set server.dbname.n. I.e. dbname setting is required for n > 0, though it
20 | # may be set to blank (e.g. "server.dbname.3=")
21 |
--------------------------------------------------------------------------------
/doc-src/verbatim/src/org/hsqldb/Trigger.java:
--------------------------------------------------------------------------------
1 | /* Copyright (c) 2001-2019, The HSQL Development Group
2 | * All rights reserved.
3 | *
4 | * Redistribution and use in source and binary forms, with or without
5 | * modification, are permitted provided that the following conditions are met:
6 | *
7 | * Redistributions of source code must retain the above copyright notice, this
8 | * list of conditions and the following disclaimer.
9 | *
10 | * Redistributions in binary form must reproduce the above copyright notice,
11 | * this list of conditions and the following disclaimer in the documentation
12 | * and/or other materials provided with the distribution.
13 | *
14 | * Neither the name of the HSQL Development Group nor the names of its
15 | * contributors may be used to endorse or promote products derived from this
16 | * software without specific prior written permission.
17 | *
18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 | * ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG,
22 | * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | */
30 |
31 |
32 | package org.hsqldb;
33 |
34 | public interface Trigger extends org.hsqldb.trigger.Trigger {}
35 |
--------------------------------------------------------------------------------
/doc-src/verbatim/testrun/sqltool/sqljrt.sql:
--------------------------------------------------------------------------------
1 | /*
2 | * $Id$
3 | *
4 | * Tests SQL/JRT
5 | */
6 |
7 | create function dehex(VARCHAR(80), INTEGER)
8 | returns INTEGER
9 | no sql
10 | language java
11 | external name 'CLASSPATH:java.lang.Integer.valueOf'
12 | .;
13 |
14 | CALL dehex('12', 16);
15 | *if (*? != 18) \q SQL/JRT function failed
16 |
--------------------------------------------------------------------------------
/doc-src/verbatim/testrun/sqltool/sqlpsm.sql:
--------------------------------------------------------------------------------
1 | /*
2 | * $Id$
3 | *
4 | * Tests SQL/JRT
5 | */
6 |
7 | create table customers(
8 | id INTEGER default 0, firstname VARCHAR(50), lastname VARCHAR(50),
9 | entrytime TIMESTAMP);
10 |
11 | create procedure new_customer(firstname varchar(50), lastname varchar(50))
12 | modifies sql data
13 | insert into customers values (
14 | default, firstname, lastname, current_timestamp)
15 | .;
16 |
17 | SELECT count(*) FROM customers;
18 | *if (*? != 0) \q SQL/PSM preparation failed
19 |
20 | CALL new_customer('blaine', 'simpson');
21 |
22 | SELECT count(*) FROM customers;
23 | *if (*? != 1) \q SQL/PSM procedure failed
24 |
--------------------------------------------------------------------------------
/integration/extAuthWithSpring/ivy-projsetup.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | Add Ivy jar file to Ant CLASSPATH.
25 | Copy-and-paste this for any Bourne shell (inc. Bash):
26 |
27 | export ANT_ARGS; ANT_ARGS='-lib ${basedir}/../../build/ivy-2.2.0.jar -noclasspath'
28 |
29 | OR copy-and-paste this for any CMD-like Windows shell:
30 |
31 | SET ANT_ARGS=-lib "${basedir}/../../build/ivy-2.2.0.jar" -noclasspath
32 |
33 |
34 |
--------------------------------------------------------------------------------
/integration/extAuthWithSpring/ivysettings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/integration/extAuthWithSpring/jul.properties:
--------------------------------------------------------------------------------
1 | # $Id$
2 |
3 | # As this is a Java .properties file, use ISO-8859-1 encoding for any
4 | # extended characters.
5 |
6 | # See http://java.sun.com/javase/6/docs/technotes/guides/logging/overview.html
7 | # for an overview of the JDK logging system, aka the Java Logging API or
8 | # java.util.logging.
9 | # If you want more, and easier, control, particularly over the format of
10 | # output records, use Log4J instead.
11 |
12 | # This is different from the default logging file provided by HyperSQL.
13 | # Here, we purposefully turn up verbosity of the org.hsqldb.sample classes so
14 | # the user can see what is going in the examples.
15 |
16 | handlers=java.util.logging.ConsoleHandler
17 | .level=WARNING
18 |
19 | java.util.logging.ConsoleHandler.level=INFO
20 | java.util.logging.ConsoleHandler.formatter=org.hsqldb.lib.BasicTextJdkLogFormatter
21 | org.hsqldb.sample.level=INFO
22 |
--------------------------------------------------------------------------------
/integration/extAuthWithSpring/readme.txt:
--------------------------------------------------------------------------------
1 | $Id$
2 |
3 | This is the home directory of the extAuthWithSpring sample.
4 |
5 | It uses Spring to declaratively configure external authentication with a
6 | master HyperSQL catalog, or with an LDAP server.
7 |
8 | You will need Ant and a Java JDK installed. To get started, invoke
9 |
10 | ant -Dauthentication.mode=HsqldbSlave
11 |
12 | from this directory to run a JDBC app backed by an application database, with
13 | authentication to the application database through another embedded master
14 | database. Play with the Spring bean files in the resources subdirectory to
15 | switch the application database or the masterdatabase, or anything else.
16 |
17 | To play with a JAAS module, run
18 |
19 | ant -Dauthentication.mode=JAAS
20 |
21 | The file resources/jaas.cfg will be generated the first time that you run
22 | anything with Ant. With mode set to "JAAS", the "demo" application
23 | configuration in jaas.cfg will be used.
24 |
25 | If you have an LDAP server, edit "resources/ldapbeans.xml" to set settings
26 | according to your LDAP server then run ant with the authentication.mode set to
27 | "LDAP".
28 | To help determine and test the settings that will work with your LDAP server, I
29 | recommend that you use the program org.hsqldb.auth.LdapAuthBean. See the
30 | HyperSQL API Spec for org.hsqldb.auth.LdapAuthBean and the sample properties
31 | file for it at "sample/ldap-exerciser.properties" in your HyperSQL distribution.
32 |
33 | As an alternative to LDAP mode, you can use JAAS_LDAP mode. That works very
34 | similarly, but uses Sun's JAAS LDAP module and suffers from its limitations.
35 | It should be easy to figure out how to use by looking over the "sunLdap"
36 | application settings in jaas.cfg, and the Spring bean definitions in
37 | resources/jaasldapbeans.xml.
38 |
--------------------------------------------------------------------------------
/integration/extAuthWithSpring/resources/beandefs.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
10 |
12 |
14 |
15 |
16 |
17 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/integration/extAuthWithSpring/resources/jaasbeans.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
10 |
11 |
12 |
14 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/integration/extAuthWithSpring/resources/jaasldapbeans.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
10 |
11 |
12 |
14 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/integration/extAuthWithSpring/resources/ldapbeans.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
10 |
11 |
12 |
14 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/integration/extAuthWithSpring/resources/slavebeans.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
10 |
11 |
12 |
14 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/integration/jackrabbit/readme.txt:
--------------------------------------------------------------------------------
1 | This directory contains access files for Apache Jackrabbit (http://jackrabbit.apache.org/)
2 |
3 | The ddl file for jackrabbit version 2.x is located at:
4 |
5 | resources/org/apache/jackrabbit/core/persistence/bundle/hsqldb.ddl
6 |
7 | This ddl file can be used with the default BundleDbPersistenceManager
8 |
9 | Copy the ddl file to the same directory in your Jackrabbit setup, alongside the existing
10 | ddl files. For example jackrabbit-standalone-2.2.4/org/apache/jackrabbit/core/persistence/bundle
11 |
12 | A sample configuration is given below. The DDL table definitions use BLOBs, which
13 | are stored on disk.
14 |
15 | If you are storing no more than several thousand objects, the non-blob fields can be stored in
16 | memory for quicker access with hsqldb.default_table_type=memory. See the hsqldb documentation
17 | at http://hsqldb.org/doc/2.0/ for different connection URL and other properties that can be used.
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 | A ddl file for older versions of Jackrabbit is also included in the ...core/persistence/db directory.
28 |
29 | All files are modified copies of existing Jackrabbit sources.
30 |
31 |
32 |
--------------------------------------------------------------------------------
/integration/jackrabbit/resources/org/apache/jackrabbit/core/journal/hsqldb.ddl:
--------------------------------------------------------------------------------
1 | # Licensed to the Apache Software Foundation (ASF) under one or more
2 | # contributor license agreements. See the NOTICE file distributed with
3 | # this work for additional information regarding copyright ownership.
4 | # The ASF licenses this file to You under the Apache License, Version 2.0
5 | # (the "License"); you may not use this file except in compliance with
6 | # the License. You may obtain a copy of the License at
7 | #
8 | # http://www.apache.org/licenses/LICENSE-2.0
9 | #
10 | # Unless required by applicable law or agreed to in writing, software
11 | # distributed under the License is distributed on an "AS IS" BASIS,
12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | # See the License for the specific language governing permissions and
14 | # limitations under the License.
15 | create table ${schemaObjectPrefix}JOURNAL (REVISION_ID BIGINT NOT NULL, JOURNAL_ID varchar(255), PRODUCER_ID varchar(255), REVISION_DATA blob)
16 | create unique index ${schemaObjectPrefix}JOURNAL_IDX on ${schemaObjectPrefix}JOURNAL (REVISION_ID)
17 | create table ${schemaObjectPrefix}GLOBAL_REVISION (REVISION_ID BIGINT NOT NULL)
18 | create unique index ${schemaObjectPrefix}GLOBAL_REVISION_IDX on ${schemaObjectPrefix}GLOBAL_REVISION (REVISION_ID)
19 | create table ${schemaObjectPrefix}LOCAL_REVISIONS (JOURNAL_ID varchar(255) NOT NULL, REVISION_ID BIGINT NOT NULL)
20 |
21 | # Inserting the one and only revision counter record now helps avoiding race conditions
22 | insert into ${schemaObjectPrefix}GLOBAL_REVISION VALUES(0)
23 |
--------------------------------------------------------------------------------
/integration/jackrabbit/resources/org/apache/jackrabbit/core/persistence/bundle/hsqldb.ddl:
--------------------------------------------------------------------------------
1 | # Licensed to the Apache Software Foundation (ASF) under one or more
2 | # contributor license agreements. See the NOTICE file distributed with
3 | # this work for additional information regarding copyright ownership.
4 | # The ASF licenses this file to You under the Apache License, Version 2.0
5 | # (the "License"); you may not use this file except in compliance with
6 | # the License. You may obtain a copy of the License at
7 | #
8 | # http://www.apache.org/licenses/LICENSE-2.0
9 | #
10 | # Unless required by applicable law or agreed to in writing, software
11 | # distributed under the License is distributed on an "AS IS" BASIS,
12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | # See the License for the specific language governing permissions and
14 | # limitations under the License.
15 | #
16 | # Bundle persistence DDL script for the HSQLDB database engine (http://www.hsqldb.org)
17 | #
18 | create table ${schemaObjectPrefix}BUNDLE (NODE_ID binary(16) primary key, BUNDLE_DATA blob(2G) not null))
19 | create table ${schemaObjectPrefix}REFS (NODE_ID binary(16) PRIMARY KEY primary key, REFS_DATA blob(2G) not null))
20 | create table ${schemaObjectPrefix}BINVAL (BINVAL_ID char(64) PRIMARY KEY, BINVAL_DATA blob(2G) not null)
21 | create table ${schemaObjectPrefix}NAMES (ID INTEGER GENERATED ALWAYS AS IDENTITY PRIMARY KEY, NAME varchar(255) not null)
22 |
--------------------------------------------------------------------------------
/integration/jackrabbit/resources/org/apache/jackrabbit/core/persistence/db/hsqldb.ddl:
--------------------------------------------------------------------------------
1 | # Licensed to the Apache Software Foundation (ASF) under one or more
2 | # contributor license agreements. See the NOTICE file distributed with
3 | # this work for additional information regarding copyright ownership.
4 | # The ASF licenses this file to You under the Apache License, Version 2.0
5 | # (the "License"); you may not use this file except in compliance with
6 | # the License. You may obtain a copy of the License at
7 | #
8 | # http://www.apache.org/licenses/LICENSE-2.0
9 | #
10 | # Unless required by applicable law or agreed to in writing, software
11 | # distributed under the License is distributed on an "AS IS" BASIS,
12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | # See the License for the specific language governing permissions and
14 | # limitations under the License.
15 | #
16 | # DDL script for the HSQLDB database engine (http://www.hsqldb.org)
17 | #
18 | create table ${schemaObjectPrefix}NODE (NODE_ID char(36) primary key, NODE_DATA blob not null)
19 | create table ${schemaObjectPrefix}PROP (PROP_ID varchar(1024) primary key, PROP_DATA blob not null)
20 | create table ${schemaObjectPrefix}REFS (NODE_ID char(36) primary key, REFS_DATA blob not null)
21 | create table ${schemaObjectPrefix}BINVAL (BINVAL_ID varchar(1024) primary key, BINVAL_DATA blob not null)
22 |
--------------------------------------------------------------------------------
/integration/readme.txt:
--------------------------------------------------------------------------------
1 | $Id$
2 |
3 | Each subdirectory of this directory is a home directory to a sample integration
4 | application.
5 |
6 | See the "readme.txt" file in each subdirectory to see the purpose of that
7 | particular sample.
8 |
--------------------------------------------------------------------------------
/lib/servlet-2_3-fcs-classfiles.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codefollower/HSQLDB-Research/b845916d29d3c7aa92fa1d20b502545c10d620d6/lib/servlet-2_3-fcs-classfiles.zip
--------------------------------------------------------------------------------
/my-test/java/my/test/HsqldbServerStart.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package my.test;
19 |
20 | public class HsqldbServerStart {
21 |
22 | public static void main(String[] args) {
23 | args = new String[] { "--help" };
24 |
25 | args = new String[] { "--props", "my-test/resources/server.properties" };
26 | org.hsqldb.server.Server.main(args);
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/my-test/resources/META-INF/services/java.sql.Driver:
--------------------------------------------------------------------------------
1 | org.hsqldb.jdbc.JDBCDriver
--------------------------------------------------------------------------------
/my-test/resources/server.properties:
--------------------------------------------------------------------------------
1 | # Hsqldb Server cfg file.
2 | # See the HyperSQL Network Listeners chapter of the HyperSQL User Guide.
3 |
4 | # Each server.database.X setting defines a database "catalog".
5 | # I.e., an independent set of data.
6 | # Each server.database.X setting corresponds exactly to the jdbc:hsqldb:*
7 | # JDBC URL you would use if you wanted to get a direct (In-Process)
8 | # Connection to the catalog instead of "serving" it.
9 |
10 | server.database.0=file:target/mytest/db0
11 | # I suggest that, for every file: catalog you define, you add the
12 | # connection property "ifexists=true" after the database instance
13 | # is created (which happens simply by starting the Server one time).
14 | # Just append ";ifexists=true" to the file: URL, like so:
15 | # server.database.0=file:db0/db0;ifexists=true
16 |
17 | # server.dbname.0 defaults to "" (i.e. server.dbname.n for n==0), but
18 | # the catalog definition n will be entirely ignored for n > 0 if you do not
19 | # set server.dbname.n. I.e. dbname setting is required for n > 0, though it
20 | # may be set to blank (e.g. "server.dbname.3=")
21 |
--------------------------------------------------------------------------------
/readme.txt:
--------------------------------------------------------------------------------
1 | Readme File
2 | 2019/09/02-19:10:29
3 | This package contains HyperSQL v. 2.5.1
4 |
5 | HyperSQL Database is a relational database management system and a set of tools
6 | written in Java.
7 | HyperSQL is also known as HSQLDB.
8 |
9 | The file "index.html" explains the contents of this distribution and has
10 | links to documentation and support resources.
11 |
--------------------------------------------------------------------------------
/sample/StartupParameters.plist:
--------------------------------------------------------------------------------
1 | /*
2 | $Id$
3 | Startup Item parameter file that works on at least one Mac OS X system.
4 |
5 | I don't know which of the "Uses" services are available on all Mac's.
6 | I just know that my system has them, and this list causes HSQLDB
7 | to start late enough without resorting to "Latest" (which could cause
8 | problems for people who also start up apps that use HSQLDB).
9 | */
10 | {
11 | Description = "HSQLDB Database Server";
12 | Provides = ("Hsqldb");
13 | Requires = ("Resolver");
14 | Uses = ("Disks", "Network", "Core Services", "TIM", "NetInfo", "Resolver");
15 | Messages =
16 | {
17 | start = "Starting Hsqldb";
18 | stop = "Stopping Hsqldb";
19 | restart = "Restarting Hsqldb";
20 | };
21 | }
22 |
--------------------------------------------------------------------------------
/sample/acl.txt:
--------------------------------------------------------------------------------
1 | # $Id$
2 |
3 | # Sample HyperSQL Network Listener ACL file.
4 | # Specify "allow" and "deny" rules
5 | # For address specifications, individual addresses, host names, and
6 | # network addresses with /bit suffix are allowed, but read the caveat about
7 | # host names below, under the sample "localhost" rule.
8 |
9 | # Blank lines ignored.
10 | # Lines with # as the first non-whitespace character are ignored.
11 |
12 |
13 | allow 2001:db8::/32
14 | # Allow this 32-bit ipv4 subnet
15 |
16 | allow localhost
17 | # You should use numerical addresses in ACL files, unless you are certain that
18 | # the name will always be known to your network address resolution system
19 | # (assume that you will lose Internet connectivity at some time).
20 | # With a default name resolution setup on UNIX, you are safe to use names
21 | # defined in your /etc/hosts file.
22 |
23 | deny 192.168.101.253
24 | # Deny a single IP address.
25 | # In our example, 192.168.101.0/24 is our local, organizational network.
26 | # 192.168.101.253 is the IP address of our Intern's PC.
27 | # The Intern does not have permission to access our databases directly.
28 |
29 | allow 192.168.101.0/24
30 |
31 | # Any ipv4 or ipv6 candidate address not matched above will be denied
32 |
--------------------------------------------------------------------------------
/sample/dsv-sample.sql:
--------------------------------------------------------------------------------
1 | /*
2 | * $Id$
3 | *
4 | * Imports delimiter-separated-values, and generates an output
5 | * reject .dsv file, and a reject report.
6 | *
7 | * To execute, set up a SqlTool database urlid (see User Guide if you don't
8 | * know how to do that); then (from this directory) execute this script like
9 | *
10 | * java ../lib/hsqldb.jar mem dsv-sample.sql
11 | *
12 | * (replace "mem" with your urlid).
13 | */
14 |
15 | CREATE TABLE sampletable(i INT, d DATE NOT NULL, b BOOLEAN);
16 |
17 | /* If you dont' set *DSV_TARGET_TABLE, it defaults to the base name of the
18 | .dsv file. */
19 | * *DSV_TARGET_TABLE = sampletable
20 |
21 | \p WARNING: Some records will be skipped, and some others will be rejected.
22 | \p This is on purpose, so you can work with a reject report.
23 | \p
24 |
25 | /* By default, no reject files are written, and the import will abort upon
26 | * the first error encountered. If you set either of these settings, the
27 | * import will continue to completion if at all possible. */
28 | * *DSV_REJECT_FILE = ${java.io.tmpdir}/sample-reject.dsv
29 | * *DSV_REJECT_REPORT = ${java.io.tmpdir}/sample-reject.html
30 | \m sample.dsv
31 |
32 | /* Enable this line if you want to display all successfully imported data:
33 | SELECT * FROM sampletable;
34 | */
35 |
36 | \p
37 | \p See import reject report at '*{*DSV_REJECT_REPORT}'.
38 |
--------------------------------------------------------------------------------
/sample/hsqldb.service:
--------------------------------------------------------------------------------
1 | # $Id$
2 |
3 | # This file is a systemd init script wrapper for leading-edge UNIXes.
4 | # Copy $HSQLDB_HOME/.../sample/hsqldb.cfg to /etc/hsqldb.conf and edit it.
5 | # Tend to the "TODO" note below.
6 | # Our init script will fail unless your .rc file is protected something like:
7 | # chmod 0600 /path/to/sqltool.rc
8 | #
9 | # To activate this file, run: systemd daemon-reload
10 | # To enable to execute upon system bootups/shutdowns (the ultimate purpose), run:
11 | # systemctl enable hsqldb
12 | #
13 | # -- Blaine (blaine dot simpson at admc dot com)
14 |
15 | [Unit]
16 | Description=HyperSQL Database Server
17 | After=socket.service
18 |
19 | [Service]
20 | # TODO! Change these paths to point to the absolute path of the "hsqldb.init"
21 | # script in your HyperSQL distribution:
22 | ExecStart=/local/hsqldb-2.3.4/sample/hsqldb.init start
23 | ExecReload=/local/hsqldb-2.3.4/sample/hsqldb.init restart
24 | ExecStop=/local/hsqldb-2.3.4/sample/hsqldb.init stop
25 | KillMode=process
26 | #Restart=always Don't silently restart and mask real problems
27 | PIDFile=/var/run/hsqldb.pid
28 | #User=... We manage user from file /etc/hsqldb.conf
29 | #WorkingDirectory=... No dependency on $PWD
30 | Type=forking
31 | TimeoutStartSec=10
32 |
33 | [Install]
34 | WantedBy=multi-user.target
35 |
--------------------------------------------------------------------------------
/sample/html-report.sql:
--------------------------------------------------------------------------------
1 | /*
2 | * $Id$
3 | *
4 | * Sample/Template for writing an HTML Report
5 | */
6 |
7 | -- Populate sample data
8 | create table t (i integer, vc varchar(20));
9 | insert into t values(1, 'one');
10 | insert into t values(2, 'two');
11 | insert into t values(3, 'three');
12 | insert into t values(4, 'four');
13 | insert into t values(5, 'five');
14 | commit;
15 |
16 |
17 | -- IMPORTANT: \o will append by default. If you want to write a new file,
18 | -- it's your responsibility to check that a file of the same name does not
19 | -- already exist (or remove it).
20 |
21 |
22 | -- Follow the following examples to use your own HTML fragment files.
23 | -- * *TOP_HTMLFRAG_FILE = /tmp/top.html
24 | -- * *BOTTOM_HTMLFRAG_FILE = /tmp/bottom.html
25 |
26 | -- The default TOP_HTMLFRAG_FILE has a reference to this PL variable.
27 | * REPORT_TITLE = Blaine's Sample Report
28 | -- The default will also override its CSS style settings with your own if you
29 | -- put them in a file named "overrides.css" in same directory alongside your
30 | -- reports ("report.html" in this example).
31 | -- You can add references to ${system.properties} and *{PL_VARIABLES} in
32 | -- your own custom fragment files too.
33 |
34 |
35 | -- Turn on HTML output mode.
36 | -- Must enable HTML _before_ opening to write top frag.
37 | \h true
38 | \o report.html
39 | \p A message to appear in the Report
40 | SELECT * FROM t;
41 |
42 | -- Close off output just to show that you can go back and forth.
43 | -- A close with '\o' will not write the bottom boilerplate that closes the HTML.
44 | \o
45 | \h false
46 | \p Some non-HTML non-Report output:
47 | SELECT count(*) FROM t;
48 |
49 | \h true
50 | -- Re-open the report
51 | \o report.html
52 | \d t
53 | -- This time close it with
54 | \oc
55 |
--------------------------------------------------------------------------------
/sample/j-sample.sql:
--------------------------------------------------------------------------------
1 | /*
2 | $Id$
3 | Exemplifies use of SqlTool's \j command to specify the JDBC connection
4 | parameters right in the SQL file.
5 |
6 | Invoke like this:
7 |
8 | java -jar .../sqltool.jar - .../j-sample.sql
9 |
10 | (give the file paths to wherever these two files reside).
11 | Or start up SqlTool like this:
12 |
13 | java -jar .../sqltool.jar
14 |
15 | and then execute this script like
16 |
17 | \i .../j-sample.sql
18 | */
19 |
20 | -- Abort this script when errors occur.
21 | -- That's the default if the script is invoked from command-line, but not if
22 | -- invoked by \i.
23 | \c false
24 |
25 | -- Note the new feature in HyperSQL 2, whereby you can set an SA password
26 | -- by just specifying that as the password for the very first connection to
27 | -- that database
28 | \j SA fred jdbc:hsqldb:mem:fred
29 | -- FORMAT: \j
30 |
31 | \p You have conkected successfully
32 | \p
33 |
34 | CREATE TABLE t(i BIGINT, vc VARCHAR(20));
35 | INSERT INTO t VALUES(1, 'one');
36 | INSERT INTO t VALUES(2, 'two');
37 |
38 | SELECT * FROM t;
39 |
--------------------------------------------------------------------------------
/sample/load_binding_lu.sql:
--------------------------------------------------------------------------------
1 | /*
2 | $Id$
3 | Load BINDING Lookup Text Table
4 | */
5 |
6 | \p Creating table BINDING_TMPTXT
7 | CREATE TEMP TEXT TABLE binding_tmptxt (
8 | id integer,
9 | name varchar(12)
10 | );
11 |
12 | \p Setting text file source
13 | SET TABLE binding_tmptxt SOURCE "binding_lu.ttbl;ignore_first=true;fs=|";
14 |
15 | \p rows in binding_tmptxt:
16 | select count(*) from binding_tmptxt;
17 | \p PRE rows in binding_lu:
18 | select count(*) from binding_lu;
19 |
20 | INSERT INTO binding_lu (
21 | id,
22 | name
23 | ) SELECT
24 | id,
25 | name
26 | FROM BINDING_TMPTXT;
27 |
28 | commit;
29 |
30 | \p POST rows in binding_lu:
31 | select count(*) from binding_lu;
32 |
--------------------------------------------------------------------------------
/sample/nullempty.sql:
--------------------------------------------------------------------------------
1 | /*
2 | * $Id$
3 | *
4 | * This sample shows differences between null and empty strings,
5 | * and ? var vs. _/~ variables.
6 | */
7 |
8 | \p At startup ? is equal to empty string. See between A and B: A*{?}B
9 | * if (A*{?}B == AB) \p ? is the empty string
10 |
11 | CREATE TABLE t(i INTEGER, vc VARCHAR(20));
12 | INSERT INTO t VALUES(1, 'one');
13 | INSERT INTO t VALUES(2, 'two');
14 | * res ~
15 | SELECT * FROM t;
16 | \p *{?}
17 | \p *{res}
18 | * listvalues ? res
19 |
20 | INSERT INTO t VALUES (3, null);
21 | *res ~
22 | SELECT vc FROM t WHERE i = 3;
23 | \p *{?}
24 | * if (*res == **NULL) \p res really is null
25 | * listvalues ? res
26 |
27 | -- This will prevent SqlTool from aborting when we run a bad SQL statement:
28 | \c true
29 | *res ~
30 | SELECT hocus FROM pocus;
31 | * if (*? == **NULL) \p ? really is null
32 | * if (*res == **NULL) \p res really is null
33 | * listvalues ? res
34 |
--------------------------------------------------------------------------------
/sample/plsql.sql:
--------------------------------------------------------------------------------
1 | /*
2 | * $Id$
3 | *
4 | * This example is copied from the "Simple Programs in PL/SQL"
5 | * example by Yu-May Chang, Jeff Ullman, Prof. Jennifer Widom at
6 | * the Standord University Database Group's page
7 | * http://www-db.stanford.edu/~ullman/fcdb/oracle/or-plsql.html .
8 | * I have only removed some blank lines (in case somebody wants to
9 | * copy this code interactively-- because you can't use blank
10 | * lines inside of SQL commands in non-raw mode SqlTool when running
11 | * it interactively); and, at the bottom I have replaced the
12 | * client-specific, non-standard command "run;" with SqlTool's
13 | * corresponding command ".;" and added a plain SQL SELECT command
14 | * to show whether the PL/SQL code worked. - Blaine
15 | */
16 |
17 | CREATE TABLE T1(
18 | e INTEGER,
19 | f INTEGER
20 | );
21 |
22 | DELETE FROM T1;
23 |
24 | INSERT INTO T1 VALUES(1, 3);
25 |
26 | INSERT INTO T1 VALUES(2, 4);
27 |
28 | /* Above is plain SQL; below is the PL/SQL program. */
29 | DECLARE
30 |
31 | a NUMBER;
32 |
33 | b NUMBER;
34 |
35 | BEGIN
36 |
37 | SELECT e,f INTO a,b FROM T1 WHERE e>1;
38 |
39 | INSERT INTO T1 VALUES(b,a);
40 |
41 | END;
42 |
43 | .;
44 | /** The statement on the previous line, ".;" is SqlTool specific.
45 | * This command says to save the input up to this point to the
46 | * edit buffer and send it to the database server for execution.
47 | * I added the SELECT statement below to give imm
48 | */
49 |
50 | /* This should show 3 rows, one containing values 4 and 2 (in this order)...*/
51 | SELECT * FROM t1;
52 |
--------------------------------------------------------------------------------
/sample/sample.dsv:
--------------------------------------------------------------------------------
1 | # Comment lines like this are permitted by default, as are
2 |
3 | # blank lines. Header line follows:
4 | i|d|b
5 |
6 | # Two good rows:
7 | 1|2007-01-02|true
8 | 2|2007-01-03|false
9 |
10 | # This should cause a parse error:
11 | 3|not a date|true
12 |
13 | # This should cause a database error:
14 | 4||true
15 |
16 | 5|2007-01-04|false
17 |
--------------------------------------------------------------------------------
/sample/sample.sql:
--------------------------------------------------------------------------------
1 | /*
2 | $Id$
3 | Exemplifies use of SqlTool.
4 | PCTASK Table creation
5 | */
6 |
7 | /* Ignore error for these two statements */
8 | \c true
9 | DROP TABLE pctasklist;
10 | DROP TABLE pctask;
11 | \c false
12 |
13 | \p Creating table pctask
14 | CREATE TABLE pctask (
15 | id integer identity,
16 | name varchar(40),
17 | description varchar(256),
18 | url varchar(80),
19 | UNIQUE (name)
20 | );
21 |
22 | \p Creating table pctasklist
23 | CREATE TABLE pctasklist (
24 | id integer identity,
25 | host varchar(20) not null,
26 | tasksequence int not null,
27 | pctask integer,
28 | assigndate timestamp default current_timestamp,
29 | completedate timestamp,
30 | show boolean default true,
31 | FOREIGN KEY (pctask) REFERENCES pctask,
32 | UNIQUE (host, tasksequence)
33 | );
34 |
35 | \p Granting privileges
36 | GRANT select ON pctask TO public;
37 | GRANT all ON pctask TO tomcat;
38 | GRANT select ON pctasklist TO public;
39 | GRANT all ON pctasklist TO tomcat;
40 |
41 | \p Inserting test records
42 | INSERT INTO pctask (name, description, url) VALUES (
43 | 'task one', 'Description for task 1', 'http://cnn.com');
44 | INSERT INTO pctasklist (host, tasksequence, pctask) VALUES (
45 | 'admc-masq', 101, (SELECT id FROM pctask WHERE name = 'task one'));
46 |
47 | commit;
48 |
--------------------------------------------------------------------------------
/sample/server.properties:
--------------------------------------------------------------------------------
1 | # Hsqldb Server cfg file.
2 | # See the HyperSQL Network Listeners chapter of the HyperSQL User Guide.
3 |
4 | # Each server.database.X setting defines a database "catalog".
5 | # I.e., an independent set of data.
6 | # Each server.database.X setting corresponds exactly to the jdbc:hsqldb:*
7 | # JDBC URL you would use if you wanted to get a direct (In-Process)
8 | # Connection to the catalog instead of "serving" it.
9 |
10 | server.database.0=file:db0/db0
11 | # I suggest that, for every file: catalog you define, you add the
12 | # connection property "ifexists=true" after the database instance
13 | # is created (which happens simply by starting the Server one time).
14 | # Just append ";ifexists=true" to the file: URL, like so:
15 | # server.database.0=file:db0/db0;ifexists=true
16 |
17 | # server.dbname.0 defaults to "" (i.e. server.dbname.n for n==0), but
18 | # the catalog definition n will be entirely ignored for n > 0 if you do not
19 | # set server.dbname.n. I.e. dbname setting is required for n > 0, though it
20 | # may be set to blank (e.g. "server.dbname.3=")
21 |
--------------------------------------------------------------------------------
/src/module-info.java:
--------------------------------------------------------------------------------
1 | //module org.hsqldb {
2 | // exports org.hsqldb.auth;
3 | // exports org.hsqldb.jdbc;
4 | // exports org.hsqldb.jdbc.pool;
5 | // exports org.hsqldb.lib;
6 | // exports org.hsqldb.lib.tar;
7 | // exports org.hsqldb.server;
8 | // exports org.hsqldb.trigger;
9 | // exports org.hsqldb.util;
10 | //
11 | // requires java.desktop;
12 | // requires java.logging;
13 | // requires java.naming;
14 | // requires java.sql;
15 | // requires java.xml;
16 | //}
17 |
--------------------------------------------------------------------------------
/src/org/hsqldb/Server.java:
--------------------------------------------------------------------------------
1 | /* Copyright (c) 2001-2019, The HSQL Development Group
2 | * All rights reserved.
3 | *
4 | * Redistribution and use in source and binary forms, with or without
5 | * modification, are permitted provided that the following conditions are met:
6 | *
7 | * Redistributions of source code must retain the above copyright notice, this
8 | * list of conditions and the following disclaimer.
9 | *
10 | * Redistributions in binary form must reproduce the above copyright notice,
11 | * this list of conditions and the following disclaimer in the documentation
12 | * and/or other materials provided with the distribution.
13 | *
14 | * Neither the name of the HSQL Development Group nor the names of its
15 | * contributors may be used to endorse or promote products derived from this
16 | * software without specific prior written permission.
17 | *
18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 | * ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG,
22 | * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | */
30 |
31 |
32 | package org.hsqldb;
33 |
34 | public class Server extends org.hsqldb.server.Server {}
35 |
36 |
--------------------------------------------------------------------------------
/src/org/hsqldb/Trigger.java:
--------------------------------------------------------------------------------
1 | /* Copyright (c) 2001-2019, The HSQL Development Group
2 | * All rights reserved.
3 | *
4 | * Redistribution and use in source and binary forms, with or without
5 | * modification, are permitted provided that the following conditions are met:
6 | *
7 | * Redistributions of source code must retain the above copyright notice, this
8 | * list of conditions and the following disclaimer.
9 | *
10 | * Redistributions in binary form must reproduce the above copyright notice,
11 | * this list of conditions and the following disclaimer in the documentation
12 | * and/or other materials provided with the distribution.
13 | *
14 | * Neither the name of the HSQL Development Group nor the names of its
15 | * contributors may be used to endorse or promote products derived from this
16 | * software without specific prior written permission.
17 | *
18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 | * ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG,
22 | * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | */
30 |
31 |
32 | package org.hsqldb;
33 |
34 | public interface Trigger extends org.hsqldb.trigger.Trigger {}
35 |
--------------------------------------------------------------------------------
/src/org/hsqldb/cmdline/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Contains command-line utilities.
4 | See
5 | the SqlTool chapter of the
6 | HyperSQL Utilities Guide
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/org/hsqldb/cmdline/sqltool/SqlFile.banner.text:
--------------------------------------------------------------------------------
1 | SqlFile processor v. %{1}.
2 | Distribution is permitted under the terms of the HSQLDB license.
3 | (c) 2004-2011 Blaine Simpson and the HSQL Development Group.
4 |
5 | \q to Quit.
6 | \? lists Special Commands.
7 | :? lists Edit-Buffer/History commands.
8 | *? lists PL commands.
9 | /? displays help on how to set and use macros (incl. functions).
10 |
11 | SPECIAL Commands begin with '\' and execute when you hit ENTER.
12 | EDIT-BUFFER / HISTORY Commands begin with ':' and execute when you hit ENTER.
13 | PROCEDURAL LANGUAGE commands begin with '*' and end when you hit ENTER.
14 | MACRO executions and definitions begin with '/' and end when you hit ENTER.
15 | All other lines comprise SQL Statements (or comments).
16 | SQL Statements are terminated by either unquoted ';' (which executes the
17 | statement), or a blank line (which moves the statement into the edit buffer
18 | without executing).
19 | After turning on variable expansion with command "*" (or any other PL
20 | command), PL variables may be used in most commands like so: *{PLVARNAME}.
21 | Be aware when using regular expressions on commands, that the regex.s
22 | operate only on the command text after the * or \ prefix, if any.
23 |
24 |
--------------------------------------------------------------------------------
/src/org/hsqldb/cmdline/sqltool/SqlFile.banner_de.text:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codefollower/HSQLDB-Research/b845916d29d3c7aa92fa1d20b502545c10d620d6/src/org/hsqldb/cmdline/sqltool/SqlFile.banner_de.text
--------------------------------------------------------------------------------
/src/org/hsqldb/cmdline/sqltool/SqlTool.syntax_de.text:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codefollower/HSQLDB-Research/b845916d29d3c7aa92fa1d20b502545c10d620d6/src/org/hsqldb/cmdline/sqltool/SqlTool.syntax_de.text
--------------------------------------------------------------------------------
/src/org/hsqldb/cmdline/sqltool/bottom-boilerplate.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |