Modification to MonetDB Database for Loading from Pipe

Dibatalkan Dipasang Jun 15, 2006 Dibayar saat pengiriman
Dibatalkan Dibayar saat pengiriman

We are looking for someone to modify the MonetDB database code for making data loading more convenient. MonetDB is an open source database project. More details and source code can be found here: [url removed, login to view] They offer a client utility called MapiClient. This utility can be used to accept commands, including SQL commands using the -l option. They allow you to load data via the COPY command, from a file as shown in the example below: COPY INTO atom FROM 'PWD/[url removed, login to view]' USING DELIMITERS ',','\n'; or from stdin, as below: COPY 1 RECORDS INTO table1 FROM stdin USING DELIMITERS ' ','\n'; The first problem is this: when using STDIN as input, you have to specify the number of records to read in, otherwise it does not know when it is finished. This makes it inconvenient if piping in data from another process when you don't know how many records are present and wish to avoid using an intermediate file. The second problem is commiting the data. In our investigation, it appears that a "commit;" may be required afterwards if piping in. We would like this changed so that we can pipe data to MapiClient running COPY from stdin without specifying the number of records, and have the data commit. As part of the implementation, for this to work, the code may have to detect a closed input pipe and see if it was running COPY and explicitly commit the data back on the server. We want to be able to use this like this (ignoring shell escaping here): myprocess | [url removed, login to view] -t -l sql -h localhost -u myuser -P password -s "COPY INTO mytable FROM stdin DELIMITERS ' ','\n';" As an alternative due to the commit issue, this would be acceptable: myprocess | [url removed, login to view] -t -l sql -h localhost -u myuser -P password -s "COPY INTO mytable FROM stdin DELIMITERS ' ','\n'; commit;" The quality of the code should be good enough so that it can be submitted to the project and accepted as a part of the standard code base.

## Deliverables

1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 2)A list of modules changed and a description of the changes.

3) Deliverables must be in ready-to-run condition. All deliverables will be considered "work made for hire" under U.S. Copyright law.

## Platform

Linux

Pemrograman C Administrasi Basis Data Teknik Linux MySQL PHP Perancangan Perangkat Lunak Pengujian Perangkat Lunak SQL

ID Proyek: #3578660

Tentang proyek

Proyek online Aktif Jun 30, 2006