MUMPS-SQL-DB-CREATE(1)

NAME
mumps-sq-db-create Sqlite3 Database Initializer

SYNOPSIS
mumps-sql-db-create

DESCRIPTION

Creates and initializes the Mumps Sqlite3 database. Any existing database is deleted. The name of the databse will normally be mumps.sqlite but this can be changed by a configure option. The database will be initialized by default to hold global arrays with up to 30 indices of up to 64 characters each with a data item up to 128 characters in length. These values can be changed by configure options. The actual number of indices is determined when the system is compiled. At present, that number is 12. The database will have a page size of 4096. The default database journal_mode will be set to MEMORY (other options include DELETE, TRUNCATE, PERSIST, and OFF). The default can be changed by an option to configure. By default, the database is stored on disk. A memory resident (transient) database can be created by an option to configure.

DATABASE

The database once created may be accessed by multiple instances of the mumps interpreter. Each instance of mumps looks for the database in the directory current when the interpreter was invoked. For a database shared among multiple instances started from multiple directories, create one instance of the database in one directory (need not be a directory from which a mumps instance was started). Then in other directories, make a soft link to the directory containg the main mumps.sqlite database. For example: ln -s ~/Desktop/mumps.sqlite mumps.sqlite The above creates a link named mumps.sqlite in the current directory to a real file named mumps.sqlite in the users Desktop directory. Multiple links in multiple directories may point to the same file. The Sqlite3 database can be accessed through Sqlite3 by the command sqlite3 mumps.sqlite assuming the default database name has not been altered. Standard Sqlite3 and SQL command my be used to search, alter, or modify the database. By default, the clobal array names are in column a1. The indices of the array are stored in columns a2 through a9 and the data stored, if any, is in column a10. So, in a global array created with: for i=1:1:10000 set ^a(i)=i the SQL command to see the data from array elements ^a(9000) to ^a(9010) would be:
sqlite> .separator " "
sqlite> select "^",a1,"(",a2,") =",a10 from mumps where
        cast (a2 as integer) >= 9000 and
        cast (a2 as integer) <= 9010;
^ a ( 9000 ) = 9000
^ a ( 9001 ) = 9001
^ a ( 9002 ) = 9002
^ a ( 9003 ) = 9003
^ a ( 9004 ) = 9004
^ a ( 9005 ) = 9005
^ a ( 9006 ) = 9006
^ a ( 9007 ) = 9007
^ a ( 9008 ) = 9008
^ a ( 9009 ) = 9009
^ a ( 9010 ) = 9010
sqlite>
Note: By default, this version of mumps stores numbers as character strings so conversion is necessary when numeric ranges are used. The Sqlite3 command decoration.

RELATED COMMANDS

mumps
sqlite3

FILES
Files installed associated with mumps are: /share/man/man7/mumps-doc.7.gz
/share/man/man7/mumps-sql-db-create.1.gz
/share/man/man1/mumps.1.gz
/include/mumpsc/*.h
/lib/libmpscpp.a
/lib/libmumps.a
/lib/libmpsglobal_native.a
/bin/mumps2c
/bin/mumps-sql-db-create.script
/bin/mumpslib
/bin/mumpsc
/bin/mumps

AUTHOR
Written by Kevin C. O'Kane.

REPORTING BUGS
Online help: <https://www.cs.uni.edu/~okane/

COPYRIGHT
Copyright (C) 2025 Kevin C. O'Kane Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is available at https://www.gnu.org/licenses/fdl-1.3.en.html

Full documentation <https://https://www.cs.uni.edu/~okane/>