<rdf:RDF
    xmlns:s='http://snipsnap.org/rdf/snip-schema#'
    xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
    xml:base='http://www.loadbang.net/rdf'>
    <s:Snip rdf:about='http://www.loadbang.net/rdf#Software/net.loadbang-SQL'
         s:name='Software/net.loadbang-SQL'
         s:cUser='nick'
         s:oUser='nick'
         s:mUser='nick'>
        <s:content>__net.loadbang-SQL__ is an interface package for embedding an SQL database entirely within MXJ. There is no need to run a separate database server. The database content is stored in files which are automatically maintained in Max/MSP&apos;s search path - there is no configuration needed, apart from a single &quot;place-holder&quot; file in the search path which is used as an anchor.&#xD;&#xA;&#xD;&#xA;{quote}&#xD;&#xA;NEW: we have now refactored the code and added support for external {link:MySQL|http://www.mysql.org} databases: see the [downloads and documentation|Software/net.loadbang-SQL/MySQL].&#xD;&#xA;{quote}&#xD;&#xA;&#xD;&#xA;When a database is first created, HSQLDB creates a small set of files on disk to store the database settings and data. The MXJ object makes sure these files get saved to the same directory as the place-holder file. (So, the entire database state is kept in files in the Max/MSP search path.) Assuming that these database files and the place-holder file are kept together, the database will persist indefinitely; every time a new MXJ object is created naming that place-holder file, the database will reappear.&#xD;&#xA;&#xD;&#xA;The database system is {link:HSQLDB|http://www.hsqldb.org/}, which is a lightweight database engine written entirely in Java. It can be run in embedded mode, which is why a separate database server is not needed. (So, applications built with Max/MSP can contain a relational database and still be standalone.)&#xD;&#xA;&#xD;&#xA;By default, databases are held entirely in RAM, and are saved to disk as files of SQL queries. For more demanding work, HSQLDB can adopt different caching and storage schemes.&#xD;&#xA;&#xD;&#xA;Because HSQLDB is written in Java, this package runs under both OS X and Windows.&#xD;&#xA;&#xD;&#xA;1 Installation&#xD;&#xA;&#xD;&#xA;You will need:&#xD;&#xA;&#xD;&#xA;- Java 1.5. Under OS X, this may or may not be the default (it is now downloaded and made active as a system update under OS X 10.4.6). If not, it can be downloaded from {link:Apple|http://www.apple.com/support/downloads/java2se50release1.html}. (This appears to be Release 1; a System Update should upgrade it to Release 4.)&#xD;&#xA;&#xD;&#xA;- HSQLDB itself. This can be {link:downloaded from SourceForge|http://sourceforge.net/project/showfiles.php?group_id=23316}, and we also have a copy of the JAR here, for convenience: {link:hsqldb-1.8.0.jar|/download/hsqldb-1.8.0.jar}.&#xD;&#xA;&#xD;&#xA;- log4j: this can be {link:downloaded from the Apache site|http://logging.apache.org/log4j/docs/download.html}, and we also have a copy of the JAR here: {link:log4j-1.2.12.jar|/download/log4j-1.2.12.jar}.&#xD;&#xA;&#xD;&#xA;- The [Software/net.loadbang-lib] library, available here: {link:net.loadbang-lib-1.0.jar|/download/net.loadbang-lib-1.0.jar}.&#xD;&#xA;&#xD;&#xA;- The ~~net.loadbang-SQL~~ library itself: {link:net.loadbang-SQL-1.4.jar|/download/net.loadbang-SQL-1.4.jar}. This contains a test MXJ object called {link:NoddySQL|/javadoc/net.loadbang-SQL/net/loadbang/sql/mxj/NoddySQL.html}.&#xD;&#xA;&#xD;&#xA;1 Usage&#xD;&#xA;&#xD;&#xA;Make sure that MXJ is using Java 1.5.  If this is not the default, put the statement&#xD;&#xA;&#xD;&#xA;{code}&#xD;&#xA;max.java.jvm.version 1.5&#xD;&#xA;{code}&#xD;&#xA;&#xD;&#xA;into the file ~~max.java.config.txt~~ in the ~~Cycling &apos;74/java~~ folder.&#xD;&#xA;&#xD;&#xA;1 Testing&#xD;&#xA;&#xD;&#xA;To test out the ~~NoddySQL~~ MXJ object, download the patcher file and its associated place-holder: {link:NoddySQL.zip|/download/NoddySQL.zip}.&#xD;&#xA;&#xD;&#xA;1 Documentation&#xD;&#xA;&#xD;&#xA;Javadoc: browse {link:/javadoc/net.loadbang-SQL/}, or download &#xD;&#xA;{link:/javadoc/net.loadbang-SQL.zip}.</s:content>
        <s:mTime>2007-04-14 21:37:54.723</s:mTime>
        <s:cTime>2006-03-01 13:54:08.192</s:cTime>
        <s:comments
             rdf:type='http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag'/>
        <s:snipLinks>
            <rdf:Bag>
                <rdf:li rdf:resource='http://www.loadbang.net/rdf#Software/net.loadbang-SQL/MySQL'/>
                <rdf:li rdf:resource='http://www.loadbang.net/rdf#'/>
                <rdf:li rdf:resource='http://www.loadbang.net/rdf#Software/net.loadbang-lib'/>
                <rdf:li rdf:resource='#Software'/>
                <rdf:li rdf:resource='http://www.loadbang.net/rdf#Software/net.loadbang.web'/>
                <rdf:li rdf:resource='http://www.loadbang.net/rdf#Software/Nixies'/>
                <rdf:li rdf:resource='http://www.loadbang.net/rdf#Software/'/>
                <rdf:li rdf:resource='#snipsnap-portlet-2'/>
                <rdf:li rdf:resource='#snipsnap-notfound'/>
                <rdf:li rdf:resource='http://www.loadbang.net/rdf#Software/TextBrick'/>
                <rdf:li rdf:resource='http://www.loadbang.net/rdf#Tech Notes/MXJ Class Loading'/>
                <rdf:li rdf:resource='http://www.loadbang.net/rdf#Tech Notes/Eclipse and MXJ'/>
                <rdf:li rdf:resource='#snipsnap-index'/>
                <rdf:li rdf:resource='http://www.loadbang.net/rdf#Software/net.loadbang.jython'/>
                <rdf:li rdf:resource='http://www.loadbang.net/rdf#Software/Registry'/>
                <rdf:li rdf:resource='#snipsnap-search'/>
                <rdf:li rdf:resource='http://www.loadbang.net/rdf#software/net.loadbang.web'/>
                <rdf:li rdf:resource='http://www.loadbang.net/rdf#Software/net.loadbang.groovy'/>
                <rdf:li rdf:resource='http://www.loadbang.net/rdf#SnipSnap/config'/>
                <rdf:li rdf:resource='http://www.loadbang.net/rdf#software/'/>
                <rdf:li rdf:resource='http://www.loadbang.net/rdf#SnipSnap/themes/cassiel-theme/css/page.css'/>
                <rdf:li rdf:resource='http://www.loadbang.net/rdf#Tech+Notes/MXJ+Class+Loading'/>
                <rdf:li rdf:resource='http://www.loadbang.net/rdf#SnipSnap/themes/cassiel-theme/css/wiki.css'/>
                <rdf:li rdf:resource='http://www.loadbang.net/rdf#SnipSnap/config/robots'/>
                <rdf:li rdf:resource='http://www.loadbang.net/rdf#Software/net.loadbang.shado'/>
                <rdf:li rdf:resource='http://www.loadbang.net/rdf#Software/net.loadbang.shado/README.MANUAL'/>
                <rdf:li rdf:resource='http://www.loadbang.net/rdf#SnipSnap/themes/Orange Valley'/>
                <rdf:li rdf:resource='http://www.loadbang.net/rdf#Software/net.loadbang.shado/README'/>
                <rdf:li rdf:resource='#__releases'/>
                <rdf:li rdf:resource='http://www.loadbang.net/rdf#start/Software/net.loadbang-SQL'/>
                <rdf:li rdf:resource='#snipsnap-portlet-1'/>
                <rdf:li rdf:resource='#__license'/>
            </rdf:Bag>
        </s:snipLinks>
        <s:attachments
             rdf:type='http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag'/>
    </s:Snip>
</rdf:RDF>
