Re: CouchDB OTP

2010-11-03 Thread Paul Davis
On Thu, Nov 4, 2010 at 12:49 AM, Noah Slater  wrote:
>
> On 4 Nov 2010, at 04:41, Paul Davis wrote:
>
>> The issue with configure.ac is that it is a pre-distribution method
>> for configuring a build system. As in, if we claim some functionality
>> for Erlang builds via configure.ac, then we're tacitly making the
>> claim that we'll have multiple distributions, a "rebar distribution"
>> and a "erlc distribution". Its not unfathomable to me that we just say
>> "tarballs will use erlc" which is not out of the question, but it
>> still seems weird.
>
> Nu, uh...
>
> `./configure` is run during every local install.
>
> What I described is possible for every single individual user.
>

Oh right. For some reason I was thinking you were saying to put the
"erlc vs rebar" decision in configure.ac instead of "generate the
logic to decide when ./configure is run." Hence why you are sempi.

>> The other issue is that I do realize that we can leverage ./configure
>> to (for lack of alternate verb) configure the build. The issue with
>> rebar and VPATH builds is that reading the docs and source code, I
>> could not see any method to tell rebar "your source files are in this
>> place, place your output in this other place." As I read rebar's
>> source, its output paths are absolutely defined by the input file
>> name. I'm guessing that Noah is incredulous by this claim, but I will
>> remind him that rebar is awesome precisely because of this sort of
>> prejudice, its just not VPATH aware.
>
> So, it's output files are in predictable locations?
>
> Sounds like a good opportunity for post-hoc installation logic. :)
>
> Either way, I see it like this:
>
>        - Before build time we can control what rebar sees.
>
>        - After build time, we can modify and move files as we want.
>
> What more could you possibly ask for?
>
> Except for the problem to go away entirely, of course. :)
>

Quite predictable locations. But the way we would predict what goes
where would basically be to copy portions of the source tree to the
build tree before invoking rebar. Its not out of the question, but
seems "not quite right".

>> Also, writable source trees. I know Noah knows this, but people that
>> aren't familiar with VPATH often get tripped up on this. The key thing
>> that made this click for me was to imagine expanding a tarball,
>> writing the source code to a CD, and then building and installing from
>> that CD without copying source files.
>
> Good catch, I forget to mention a lot of this stuff. :)
>
>> I think that's the right sentiment, but slightly not quite right I
>> think. The analogy I would use would be more like, "Reconciling Erlang
>> builds with Autotools builds is like trying to translate poetry from
>> Turkish to Navajo."
>
> Actually, I think it should be perfectly surmountable. The key will be in 
> separating the Erlang build from the main build. Think of it like compiling a 
> C app. You wouldn't have the compiler try to move the files into location, or 
> handle the installation of the /etc/config/file. So, just treat rebar, or 
> whatever, as the compilation step for an OTP app (even though the result is a 
> directory tree, a bit like NeXT really) and use Autotools to plop that into 
> the right location on the filesystem.

Exactly. I think its quite possible, I just don't speak Autofu as
fluently as you to know what the "elegant" solution would be here. My
concern is if our 'surmounting effort' turns into a "'oh fuck, that
doesn't work on Solaris 3.3 when running on a Sparc Ultra2400 with the
32GiB RAM expansion while PXE booting off a Broadcom 802.11k chipset.'
effort". I'm just saying...

HTH,
Paul Davis


Re: CouchDB OTP

2010-11-03 Thread Noah Slater

On 4 Nov 2010, at 04:41, Paul Davis wrote:

> The issue with configure.ac is that it is a pre-distribution method
> for configuring a build system. As in, if we claim some functionality
> for Erlang builds via configure.ac, then we're tacitly making the
> claim that we'll have multiple distributions, a "rebar distribution"
> and a "erlc distribution". Its not unfathomable to me that we just say
> "tarballs will use erlc" which is not out of the question, but it
> still seems weird.

Nu, uh...

`./configure` is run during every local install.

What I described is possible for every single individual user.

> The other issue is that I do realize that we can leverage ./configure
> to (for lack of alternate verb) configure the build. The issue with
> rebar and VPATH builds is that reading the docs and source code, I
> could not see any method to tell rebar "your source files are in this
> place, place your output in this other place." As I read rebar's
> source, its output paths are absolutely defined by the input file
> name. I'm guessing that Noah is incredulous by this claim, but I will
> remind him that rebar is awesome precisely because of this sort of
> prejudice, its just not VPATH aware.

So, it's output files are in predictable locations?

Sounds like a good opportunity for post-hoc installation logic. :)

Either way, I see it like this:

- Before build time we can control what rebar sees.

- After build time, we can modify and move files as we want.

What more could you possibly ask for?

Except for the problem to go away entirely, of course. :)

> Also, writable source trees. I know Noah knows this, but people that
> aren't familiar with VPATH often get tripped up on this. The key thing
> that made this click for me was to imagine expanding a tarball,
> writing the source code to a CD, and then building and installing from
> that CD without copying source files.

Good catch, I forget to mention a lot of this stuff. :)

> I think that's the right sentiment, but slightly not quite right I
> think. The analogy I would use would be more like, "Reconciling Erlang
> builds with Autotools builds is like trying to translate poetry from
> Turkish to Navajo."

Actually, I think it should be perfectly surmountable. The key will be in 
separating the Erlang build from the main build. Think of it like compiling a C 
app. You wouldn't have the compiler try to move the files into location, or 
handle the installation of the /etc/config/file. So, just treat rebar, or 
whatever, as the compilation step for an OTP app (even though the result is a 
directory tree, a bit like NeXT really) and use Autotools to plop that into the 
right location on the filesystem.

Re: CouchDB OTP

2010-11-03 Thread Paul Davis
On Wed, Nov 3, 2010 at 11:53 PM, Noah Slater  wrote:
>
> On 4 Nov 2010, at 03:27, Paul Davis wrote:
>
>> 1. We have constraints. Noah's pointed out a few, but I don't even
>> think that list is exhaustive. A project like CouchDB needs to pay
>> attention to a lot of different details. I've said before that Noah is
>> the Chuck Norris of Autotools, so any proposed changes will need to be
>> cleared by him. He is the de facto BDFL for our build system and I
>> will vote with him lock step on any proposal.
>>
>> 2. There are lots of things in our current build system that may seem
>> innocuous at first, but turn out to be A Big Deal in some specific
>> circumstances that aren't always apparent at first glance.
>>
>> 3. A lot of changes I see in your CouchDB branch aren't going to fly.
>> Some reasons may seem trivial but this is me relying on knowledge from
>> Noah Chuck Norris Slater.
>
> I love this mailing list. *g*
>
>> 4. I'm not sure about Sinan, but rebar won't work out of the box for a
>> default build tool because of a lack of support for VPATH builds. At
>> this moment I'm still concentrating on making sure we can do a full
>> rebar build to support things like Erlang releases, but it's been
>> de-prioritized to a "secondary build system" status. If Sinan can do
>> VPATH builds, then I think it'd be a very good thing to support.
>>
>> 5. Erlang build knowledge is at some level, incompatible with
>> Autotools build knowledge. We need to find a common ground and figure
>> out where we can compromise to hopefully make both work. My current
>> shimmering of an idea for rebar was to have a make target that was
>> something like "make rebar" which would short circuit some parts of a
>> default build with rebar. Its possible that we can revamp part of the
>> build system to overcome the constraints of Autotools, but as I see it
>> the first move might just make a "developer friendly" alternate build
>> style.
>
> I'm not sure if I've mentioned this before, but I see a way forward with 
> this. I'm going to assume that you (Paul, specifically here) know enough 
> about Autotools to be familiar with the role that configure.ac plays in the 
> whole process.
>
> To break it down for you:
>
>        - `./configure` preps the source tree for build-specific rules
>
>        - `make` preps the files needed to install
>
>        - `make` install installs the files
>
> A key to realising the power of this is in considering what you can do with 
> the configure.ac script, which in turns is "compiled" down to the configure 
> script the user runs. For example, you can ALTER the build process during 
> `make` by having configure.ac modify or write out customised files.
>
> So, as far as I see it, making rebar VPATH compatible should be as simple as 
> creating the rebar spec file (to make up some terminology - whatever it is 
> that tells rebar how to build stuff) during the `./configure` step. 
> Presumably, by writing files, or even replacing text within files.
>
> You've seen the @variables@ in some locations, Paul? They're things that we 
> replace during the `./configure` step. Nothing stopping you from using a 
> @PREFIX@ type variable for the file that is ultimately used during the `make` 
> step.
>

I preface with this with the fact that I do not wish to know the wrath
of a Chuck Norris round house kick the face.

The issue with configure.ac is that it is a pre-distribution method
for configuring a build system. As in, if we claim some functionality
for Erlang builds via configure.ac, then we're tacitly making the
claim that we'll have multiple distributions, a "rebar distribution"
and a "erlc distribution". Its not unfathomable to me that we just say
"tarballs will use erlc" which is not out of the question, but it
still seems weird.

The other issue is that I do realize that we can leverage ./configure
to (for lack of alternate verb) configure the build. The issue with
rebar and VPATH builds is that reading the docs and source code, I
could not see any method to tell rebar "your source files are in this
place, place your output in this other place." As I read rebar's
source, its output paths are absolutely defined by the input file
name. I'm guessing that Noah is incredulous by this claim, but I will
remind him that rebar is awesome precisely because of this sort of
prejudice, its just not VPATH aware.

>> 7. Removing dependencies from the source tree is not going to happen
>> any time soon. I wish we didn't have to vendor so many projects, but
>> we have to remember that a majority of people building CouchDB are not
>> Erlangians. Forcing our community to install a number of Erlang
>> dependencies to build CouchDB would be a very large hurdle to
>> navigate. I know that there are projects like faxien and rebar's git
>> support to overcome this, but I don't feel that there is a solution
>> that sufficiently addresses this issue.
>
> And doing it at build time breaks a really fundamental rule of build systems.

[jira] Commented: (COUCHDB-933) Remove Dependancy on Inets

2010-11-03 Thread Dale Harvey (JIRA)

[ 
https://issues.apache.org/jira/browse/COUCHDB-933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12928116#action_12928116
 ] 

Dale Harvey commented on COUCHDB-933:
-

Yeh you are right, I amended the patch so it only stops couch manually starting 
inets on boot, plus switched all the tests from inets to ibrowse, which lets us 
include inets as a library but not require it to be started to run couch or the 
tests.

> Remove Dependancy on Inets
> --
>
> Key: COUCHDB-933
> URL: https://issues.apache.org/jira/browse/COUCHDB-933
> Project: CouchDB
>  Issue Type: Improvement
>  Components: Infrastructure
>Reporter: Dale Harvey
>Priority: Minor
> Attachments: anon.patch
>
>
> Inets is not used internally, but is started by the application and is also 
> used in the etap tests, switch out all uses of inets to ibrowse

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Re: CouchDB OTP

2010-11-03 Thread Noah Slater

On 4 Nov 2010, at 03:27, Paul Davis wrote:

> 1. We have constraints. Noah's pointed out a few, but I don't even
> think that list is exhaustive. A project like CouchDB needs to pay
> attention to a lot of different details. I've said before that Noah is
> the Chuck Norris of Autotools, so any proposed changes will need to be
> cleared by him. He is the de facto BDFL for our build system and I
> will vote with him lock step on any proposal.
> 
> 2. There are lots of things in our current build system that may seem
> innocuous at first, but turn out to be A Big Deal in some specific
> circumstances that aren't always apparent at first glance.
> 
> 3. A lot of changes I see in your CouchDB branch aren't going to fly.
> Some reasons may seem trivial but this is me relying on knowledge from
> Noah Chuck Norris Slater.

I love this mailing list. *g*

> 4. I'm not sure about Sinan, but rebar won't work out of the box for a
> default build tool because of a lack of support for VPATH builds. At
> this moment I'm still concentrating on making sure we can do a full
> rebar build to support things like Erlang releases, but it's been
> de-prioritized to a "secondary build system" status. If Sinan can do
> VPATH builds, then I think it'd be a very good thing to support.
> 
> 5. Erlang build knowledge is at some level, incompatible with
> Autotools build knowledge. We need to find a common ground and figure
> out where we can compromise to hopefully make both work. My current
> shimmering of an idea for rebar was to have a make target that was
> something like "make rebar" which would short circuit some parts of a
> default build with rebar. Its possible that we can revamp part of the
> build system to overcome the constraints of Autotools, but as I see it
> the first move might just make a "developer friendly" alternate build
> style.

I'm not sure if I've mentioned this before, but I see a way forward with this. 
I'm going to assume that you (Paul, specifically here) know enough about 
Autotools to be familiar with the role that configure.ac plays in the whole 
process.

To break it down for you:

- `./configure` preps the source tree for build-specific rules

- `make` preps the files needed to install

- `make` install installs the files

A key to realising the power of this is in considering what you can do with the 
configure.ac script, which in turns is "compiled" down to the configure script 
the user runs. For example, you can ALTER the build process during `make` by 
having configure.ac modify or write out customised files.

So, as far as I see it, making rebar VPATH compatible should be as simple as 
creating the rebar spec file (to make up some terminology - whatever it is that 
tells rebar how to build stuff) during the `./configure` step. Presumably, by 
writing files, or even replacing text within files.

You've seen the @variables@ in some locations, Paul? They're things that we 
replace during the `./configure` step. Nothing stopping you from using a 
@PREFIX@ type variable for the file that is ultimately used during the `make` 
step.

> 7. Removing dependencies from the source tree is not going to happen
> any time soon. I wish we didn't have to vendor so many projects, but
> we have to remember that a majority of people building CouchDB are not
> Erlangians. Forcing our community to install a number of Erlang
> dependencies to build CouchDB would be a very large hurdle to
> navigate. I know that there are projects like faxien and rebar's git
> support to overcome this, but I don't feel that there is a solution
> that sufficiently addresses this issue.

And doing it at build time breaks a really fundamental rule of build systems.

Never assume a network connection

> 8. I don't know about Sinan or Rebar's platform support specifically.
> Building C code portably is very very hard. I know that people detest
> Autotools for such things, but its got an uncountable number of man
> years addressing platform specific build issues. I don't think its
> impossible to replace for building C code, I just see it as staring at
> a mountain when people suggest it. IIRC, one of my first conversations
> with Noah was switching to SCons. As much as it pains me now to admit,
> I'm glad at he laughed at me then.

I'm going to quote Mark Pilgrim on this:

'Here’s the basic problem: you’re writing a text editor. Stop doing that. It’s 
2007. Saying to yourself “I’m gonna build my own text editor” is as silly as 
saying “I’m gonna build my own build system” or “I’m gonna build my own 
amusement park.” Blackjack and hookers and all that. Writing a great text 
editor is insanely difficult. There is a certain class of software that sounds 
easy but is actually insanely difficult. I call it “garden path software.” If I 
ever start a software company, I’ll name it “Garden Path Software,” but until 
then, just stop.'

Autotools is a big, stinking, POS — but it gets the job done, precisely because 
it's been

[jira] Updated: (COUCHDB-933) Remove Dependancy on Inets

2010-11-03 Thread Dale Harvey (JIRA)

 [ 
https://issues.apache.org/jira/browse/COUCHDB-933?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dale Harvey updated COUCHDB-933:


Attachment: (was: inets.patch)

> Remove Dependancy on Inets
> --
>
> Key: COUCHDB-933
> URL: https://issues.apache.org/jira/browse/COUCHDB-933
> Project: CouchDB
>  Issue Type: Improvement
>  Components: Infrastructure
>Reporter: Dale Harvey
>Priority: Minor
> Attachments: anon.patch
>
>
> Inets is not used internally, but is started by the application and is also 
> used in the etap tests, switch out all uses of inets to ibrowse

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (COUCHDB-933) Remove Dependancy on Inets

2010-11-03 Thread Dale Harvey (JIRA)

 [ 
https://issues.apache.org/jira/browse/COUCHDB-933?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dale Harvey updated COUCHDB-933:


Attachment: anon.patch

> Remove Dependancy on Inets
> --
>
> Key: COUCHDB-933
> URL: https://issues.apache.org/jira/browse/COUCHDB-933
> Project: CouchDB
>  Issue Type: Improvement
>  Components: Infrastructure
>Reporter: Dale Harvey
>Priority: Minor
> Attachments: anon.patch
>
>
> Inets is not used internally, but is started by the application and is also 
> used in the etap tests, switch out all uses of inets to ibrowse

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (COUCHDB-933) Remove Dependancy on Inets

2010-11-03 Thread Dale Harvey (JIRA)

 [ 
https://issues.apache.org/jira/browse/COUCHDB-933?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dale Harvey updated COUCHDB-933:


Attachment: (was: inets.patch)

> Remove Dependancy on Inets
> --
>
> Key: COUCHDB-933
> URL: https://issues.apache.org/jira/browse/COUCHDB-933
> Project: CouchDB
>  Issue Type: Improvement
>  Components: Infrastructure
>Reporter: Dale Harvey
>Priority: Minor
> Attachments: anon.patch
>
>
> Inets is not used internally, but is started by the application and is also 
> used in the etap tests, switch out all uses of inets to ibrowse

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (COUCHDB-933) Remove Dependancy on Inets

2010-11-03 Thread Dale Harvey (JIRA)

 [ 
https://issues.apache.org/jira/browse/COUCHDB-933?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dale Harvey updated COUCHDB-933:


Attachment: inets.patch

> Remove Dependancy on Inets
> --
>
> Key: COUCHDB-933
> URL: https://issues.apache.org/jira/browse/COUCHDB-933
> Project: CouchDB
>  Issue Type: Improvement
>  Components: Infrastructure
>Reporter: Dale Harvey
>Priority: Minor
> Attachments: inets.patch, inets.patch
>
>
> Inets is not used internally, but is started by the application and is also 
> used in the etap tests, switch out all uses of inets to ibrowse

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Re: CouchDB OTP

2010-11-03 Thread Paul Davis
On Wed, Nov 3, 2010 at 8:45 PM, Tristan Sloughter
 wrote:
> Agreed. That sounds like a good plan. I'd just want to ensure that the
> Erlang side can be installed as a release and run as a release, or included
> as apps, to a project and run without a problem. This can be complicated by
> having the build system do so much with the configuration files. Which is
> why I simply put them in priv and reference them that way. But something can
> be figured out.
>
> Tristan
>
> On Wed, Nov 3, 2010 at 7:40 PM, Noah Slater  wrote:
>
>>
>> On 4 Nov 2010, at 00:33, Tristan Sloughter wrote:
>>
>> > What complex stuff is the build system dealing with?
>>
>> Everything outside of "erlc" :)
>>
>>  - VPATH builds
>>  - Configuring the install to find the location of C libraries
>>  - Customising the install for users
>>  - Setting up the system infrastructure for CouchDB to function
>>  - Making sure things work across platforms
>>  - Building customised versions of binaries and scripts
>>
>> > I'm separating the
>> > config file (and similar files) problem and the icu and couch_js problem.
>> I
>> > was hoping building those few C files wouldn't be bad, but I guess that
>> is
>> > not true from what you are saying?
>>
>> Doing the build system for an operating system daemon is Hard.
>>
>> > I'd still say it should be autotools, or whatever, inside an Erlang build
>> > system.
>>
>> Basically, I would like to see the new build system separate the package
>> into two components. The CouchDB OTP application, which is build using some
>> Erlang appropriate build system (like rebar, or whatever) and everything
>> else. Everything else is handled by Autotools, like it is now. Autotools is
>> also responsible for delegating the Erlang work off to the other build
>> system.
>>
>> A good way forward would be:
>>
>>        - Decide the minimum set of files needed for the Erlang build.
>>
>>        - Sandbox them into a directory along with the build files.
>>
>>        - Create a Makefile.am file in that directory.
>>
>>        - Hook the new system into the Autotools system.
>>
>> That should work.
>>
>> We get to keep teh AWSUM POWAH of Autotools, and have an OTP app. :)
>>
>> Valediction,
>>
>> N
>>
>>
>

Tristan,

Apologies for not replying earlier. I meant to but got distracted by
something shiny.

As Noah points out there are quite a few issues that are going to be
pain points with transitioning towards a non Autotools build. I'm
confident that we can and will but there are a few things to consider
as we do this. The following is going to be a brain dump to try and
outline the issues as best as I can. These are in no specific order
but hopefully give a good outline of what we're facing.

I will also preference this with the fact that our current source tree
is in desperate need of a makeover. We've been talking about it for
awhile and its at the point that it just needs to happen. The rest
that follows is my gathering of thoughts for the move.

1. We have constraints. Noah's pointed out a few, but I don't even
think that list is exhaustive. A project like CouchDB needs to pay
attention to a lot of different details. I've said before that Noah is
the Chuck Norris of Autotools, so any proposed changes will need to be
cleared by him. He is the de facto BDFL for our build system and I
will vote with him lock step on any proposal.

2. There are lots of things in our current build system that may seem
innocuous at first, but turn out to be A Big Deal in some specific
circumstances that aren't always apparent at first glance.

3. A lot of changes I see in your CouchDB branch aren't going to fly.
Some reasons may seem trivial but this is me relying on knowledge from
Noah Chuck Norris Slater.

4. I'm not sure about Sinan, but rebar won't work out of the box for a
default build tool because of a lack of support for VPATH builds. At
this moment I'm still concentrating on making sure we can do a full
rebar build to support things like Erlang releases, but it's been
de-prioritized to a "secondary build system" status. If Sinan can do
VPATH builds, then I think it'd be a very good thing to support.

5. Erlang build knowledge is at some level, incompatible with
Autotools build knowledge. We need to find a common ground and figure
out where we can compromise to hopefully make both work. My current
shimmering of an idea for rebar was to have a make target that was
something like "make rebar" which would short circuit some parts of a
default build with rebar. Its possible that we can revamp part of the
build system to overcome the constraints of Autotools, but as I see it
the first move might just make a "developer friendly" alternate build
style.

6. Your CouchDB branch has some major source movement. Unfortunately
the ASF has not yet moved to having native git support. As such, any
such patches of this magnitude must be developed with Subversion in
mind. The reason is that we cannot develop this patch set in git and
apply it directly to svn

[jira] Commented: (COUCHDB-933) Remove Dependancy on Inets

2010-11-03 Thread Adam Kocoloski (JIRA)

[ 
https://issues.apache.org/jira/browse/COUCHDB-933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12928083#action_12928083
 ] 

Adam Kocoloski commented on COUCHDB-933:


Seems good at first glance.  For what it's worth, couch_log uses the httpd_util 
module from inets to format timestamps, so it can't be removed entirely from a 
standalone release built with reltool.

> Remove Dependancy on Inets
> --
>
> Key: COUCHDB-933
> URL: https://issues.apache.org/jira/browse/COUCHDB-933
> Project: CouchDB
>  Issue Type: Improvement
>  Components: Infrastructure
>Reporter: Dale Harvey
>Priority: Minor
> Attachments: inets.patch
>
>
> Inets is not used internally, but is started by the application and is also 
> used in the etap tests, switch out all uses of inets to ibrowse

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (COUCHDB-933) Remove Dependancy on Inets

2010-11-03 Thread Dale Harvey (JIRA)

 [ 
https://issues.apache.org/jira/browse/COUCHDB-933?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dale Harvey updated COUCHDB-933:


Attachment: inets.patch

> Remove Dependancy on Inets
> --
>
> Key: COUCHDB-933
> URL: https://issues.apache.org/jira/browse/COUCHDB-933
> Project: CouchDB
>  Issue Type: Improvement
>  Components: Infrastructure
>Reporter: Dale Harvey
>Priority: Minor
> Attachments: inets.patch
>
>
> Inets is not used internally, but is started by the application and is also 
> used in the etap tests, switch out all uses of inets to ibrowse

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (COUCHDB-933) Remove Dependancy on Inets

2010-11-03 Thread Dale Harvey (JIRA)
Remove Dependancy on Inets
--

 Key: COUCHDB-933
 URL: https://issues.apache.org/jira/browse/COUCHDB-933
 Project: CouchDB
  Issue Type: Improvement
  Components: Infrastructure
Reporter: Dale Harvey
Priority: Minor


Inets is not used internally, but is started by the application and is also 
used in the etap tests, switch out all uses of inets to ibrowse

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Re: CouchDB OTP

2010-11-03 Thread Tristan Sloughter
Agreed. That sounds like a good plan. I'd just want to ensure that the
Erlang side can be installed as a release and run as a release, or included
as apps, to a project and run without a problem. This can be complicated by
having the build system do so much with the configuration files. Which is
why I simply put them in priv and reference them that way. But something can
be figured out.

Tristan

On Wed, Nov 3, 2010 at 7:40 PM, Noah Slater  wrote:

>
> On 4 Nov 2010, at 00:33, Tristan Sloughter wrote:
>
> > What complex stuff is the build system dealing with?
>
> Everything outside of "erlc" :)
>
>  - VPATH builds
>  - Configuring the install to find the location of C libraries
>  - Customising the install for users
>  - Setting up the system infrastructure for CouchDB to function
>  - Making sure things work across platforms
>  - Building customised versions of binaries and scripts
>
> > I'm separating the
> > config file (and similar files) problem and the icu and couch_js problem.
> I
> > was hoping building those few C files wouldn't be bad, but I guess that
> is
> > not true from what you are saying?
>
> Doing the build system for an operating system daemon is Hard.
>
> > I'd still say it should be autotools, or whatever, inside an Erlang build
> > system.
>
> Basically, I would like to see the new build system separate the package
> into two components. The CouchDB OTP application, which is build using some
> Erlang appropriate build system (like rebar, or whatever) and everything
> else. Everything else is handled by Autotools, like it is now. Autotools is
> also responsible for delegating the Erlang work off to the other build
> system.
>
> A good way forward would be:
>
>- Decide the minimum set of files needed for the Erlang build.
>
>- Sandbox them into a directory along with the build files.
>
>- Create a Makefile.am file in that directory.
>
>- Hook the new system into the Autotools system.
>
> That should work.
>
> We get to keep teh AWSUM POWAH of Autotools, and have an OTP app. :)
>
> Valediction,
>
> N
>
>


Re: CouchDB OTP

2010-11-03 Thread Tristan Sloughter
P.S. Glad you enjoyed ErlangCamp :). Sucks you didn't make the night events,
they were great. Maybe next time!

On Wed, Nov 3, 2010 at 7:39 PM, Tristan Sloughter <
tristan.slough...@gmail.com> wrote:

> I see it was already discussed about breaking CouchDB into apps:
>
> couch_core: The core Erlang modules for storing docs and managing 
> "internal infrastructure"
> couch_view: The view engine as well as the holder for managing OS 
> processes.
> couch_rep: couch_rep*.erl
> couch_externals: couch_external*.erl
> couch_httpd: couch_http*.erl
>
> I was going to also start on that after getting the build stable. Now I see
> the work of deciding what goes where was already done :).
>
> This is great. I hope my work on this can be helpful for the move in 1.1.x
> you guys want to make.
>
> Tristan
>
> On Wed, Nov 3, 2010 at 7:33 PM, Tristan Sloughter <
> tristan.slough...@gmail.com> wrote:
>
>> Hmm, ok. I have replaced the build system. I am using sinan but it should
>> be buildable now with any Erlang/OTP build tool, like rebar. I am just
>> running it as a release from a script that erl-execs the boot file.
>>
>> What complex stuff is the build system dealing with? I'm separating the
>> config file (and similar files) problem and the icu and couch_js problem. I
>> was hoping building those few C files wouldn't be bad, but I guess that is
>> not true from what you are saying?
>>
>> I'd still say it should be autotools, or whatever, inside an Erlang build
>> system.
>>
>> Tristan
>>
>>
>> On Wed, Nov 3, 2010 at 7:28 PM, Noah Slater  wrote:
>>
>>> Have you wholesale replaced the existing build system?
>>>
>>> If you have, it's going to be a tad more complex than knocking up a few
>>> makefiles to compile C. There's lots of very complex stuff our build system
>>> copes with at the moment. I'm not convinced it can be replaced by an Erlang
>>> build system and a few shell scripts. We've had chats about improving the
>>> build system before, and I think the consensus is that we wrap an Erlang
>>> build system WITHIN the Autotools system.
>>>
>>> What are you thoughts?
>>>
>>> On 4 Nov 2010, at 00:04, Tristan Sloughter wrote:
>>>
>>> > If anyone by chance has or can easily create some simplistic make files
>>> or
>>> > something for compiling the C code that would be AWESOME. I haven't had
>>> time
>>> > to dig around what is needed to compile the different pieces but its
>>> the
>>> > last major piece to complete.
>>> >
>>> > Tristan
>>> >
>>> > On Wed, Nov 3, 2010 at 10:52 AM, Tristan Sloughter <
>>> > tristan.slough...@gmail.com> wrote:
>>> >
>>> >> Hi everyone, I have a github fork from apache/couchdb
>>> >> https://github.com/tsloughter/couchdb that I modified to be more OTP
>>> >> compliant and now builds with sinan (from http://erlware.org). There
>>> >> wasn't much that I've done so far. I moved the CouchDB app under
>>> >> lib/couchdb. I removed the other apps from the source tree, they can
>>> easily
>>> >> be installed with faxien (from http://erlware.org) and versions can
>>> be
>>> >> declared if necessary. I changed the _app.erl file to not start
>>> applications
>>> >> and added those applications instead to the applications list in the
>>> .app
>>> >> file. They will be started properly by the release's boot script.
>>> >>
>>> >> I moved all non-Erlang stuff to lib/couchdb/priv.
>>> >>
>>> >> I still have a number of things to do that I hope to get to tonight.
>>> First,
>>> >> fix up the two scripts under bin/. Fix the configuration file
>>> locations
>>> >> (some stuff is hardcoded for my environment). Add a hook to sinan to
>>> compile
>>> >> the icu driver -- right now I just copied the library over from a
>>> build of
>>> >> CouchDB I did separately.
>>> >>
>>> >> There are probably a few other things.. But I was able to do an
>>> >> application:start(couchdb) last night and see it working :).
>>> >>
>>> >> There were a few things I thought of changing within the code as I dug
>>> >> around but those are a separate issue that I'll bring up in discussion
>>> after
>>> >> all this is complete.
>>> >>
>>> >> Tristan
>>> >>
>>>
>>>
>>
>


Re: CouchDB OTP

2010-11-03 Thread Noah Slater

On 4 Nov 2010, at 00:33, Tristan Sloughter wrote:

> What complex stuff is the build system dealing with?

Everything outside of "erlc" :)

 - VPATH builds
 - Configuring the install to find the location of C libraries
 - Customising the install for users
 - Setting up the system infrastructure for CouchDB to function
 - Making sure things work across platforms
 - Building customised versions of binaries and scripts

> I'm separating the
> config file (and similar files) problem and the icu and couch_js problem. I
> was hoping building those few C files wouldn't be bad, but I guess that is
> not true from what you are saying?

Doing the build system for an operating system daemon is Hard.

> I'd still say it should be autotools, or whatever, inside an Erlang build
> system.

Basically, I would like to see the new build system separate the package into 
two components. The CouchDB OTP application, which is build using some Erlang 
appropriate build system (like rebar, or whatever) and everything else. 
Everything else is handled by Autotools, like it is now. Autotools is also 
responsible for delegating the Erlang work off to the other build system.

A good way forward would be:

- Decide the minimum set of files needed for the Erlang build.

- Sandbox them into a directory along with the build files.

- Create a Makefile.am file in that directory.

- Hook the new system into the Autotools system.

That should work.

We get to keep teh AWSUM POWAH of Autotools, and have an OTP app. :)

Valediction,

N



Re: CouchDB OTP

2010-11-03 Thread Tristan Sloughter
I see it was already discussed about breaking CouchDB into apps:

couch_core: The core Erlang modules for storing docs and managing
"internal infrastructure"
couch_view: The view engine as well as the holder for managing OS processes.
couch_rep: couch_rep*.erl
couch_externals: couch_external*.erl
couch_httpd: couch_http*.erl

I was going to also start on that after getting the build stable. Now I see
the work of deciding what goes where was already done :).

This is great. I hope my work on this can be helpful for the move in 1.1.x
you guys want to make.

Tristan

On Wed, Nov 3, 2010 at 7:33 PM, Tristan Sloughter <
tristan.slough...@gmail.com> wrote:

> Hmm, ok. I have replaced the build system. I am using sinan but it should
> be buildable now with any Erlang/OTP build tool, like rebar. I am just
> running it as a release from a script that erl-execs the boot file.
>
> What complex stuff is the build system dealing with? I'm separating the
> config file (and similar files) problem and the icu and couch_js problem. I
> was hoping building those few C files wouldn't be bad, but I guess that is
> not true from what you are saying?
>
> I'd still say it should be autotools, or whatever, inside an Erlang build
> system.
>
> Tristan
>
>
> On Wed, Nov 3, 2010 at 7:28 PM, Noah Slater  wrote:
>
>> Have you wholesale replaced the existing build system?
>>
>> If you have, it's going to be a tad more complex than knocking up a few
>> makefiles to compile C. There's lots of very complex stuff our build system
>> copes with at the moment. I'm not convinced it can be replaced by an Erlang
>> build system and a few shell scripts. We've had chats about improving the
>> build system before, and I think the consensus is that we wrap an Erlang
>> build system WITHIN the Autotools system.
>>
>> What are you thoughts?
>>
>> On 4 Nov 2010, at 00:04, Tristan Sloughter wrote:
>>
>> > If anyone by chance has or can easily create some simplistic make files
>> or
>> > something for compiling the C code that would be AWESOME. I haven't had
>> time
>> > to dig around what is needed to compile the different pieces but its the
>> > last major piece to complete.
>> >
>> > Tristan
>> >
>> > On Wed, Nov 3, 2010 at 10:52 AM, Tristan Sloughter <
>> > tristan.slough...@gmail.com> wrote:
>> >
>> >> Hi everyone, I have a github fork from apache/couchdb
>> >> https://github.com/tsloughter/couchdb that I modified to be more OTP
>> >> compliant and now builds with sinan (from http://erlware.org). There
>> >> wasn't much that I've done so far. I moved the CouchDB app under
>> >> lib/couchdb. I removed the other apps from the source tree, they can
>> easily
>> >> be installed with faxien (from http://erlware.org) and versions can be
>> >> declared if necessary. I changed the _app.erl file to not start
>> applications
>> >> and added those applications instead to the applications list in the
>> .app
>> >> file. They will be started properly by the release's boot script.
>> >>
>> >> I moved all non-Erlang stuff to lib/couchdb/priv.
>> >>
>> >> I still have a number of things to do that I hope to get to tonight.
>> First,
>> >> fix up the two scripts under bin/. Fix the configuration file locations
>> >> (some stuff is hardcoded for my environment). Add a hook to sinan to
>> compile
>> >> the icu driver -- right now I just copied the library over from a build
>> of
>> >> CouchDB I did separately.
>> >>
>> >> There are probably a few other things.. But I was able to do an
>> >> application:start(couchdb) last night and see it working :).
>> >>
>> >> There were a few things I thought of changing within the code as I dug
>> >> around but those are a separate issue that I'll bring up in discussion
>> after
>> >> all this is complete.
>> >>
>> >> Tristan
>> >>
>>
>>
>


Re: CouchDB OTP

2010-11-03 Thread Tristan Sloughter
Hmm, ok. I have replaced the build system. I am using sinan but it should be
buildable now with any Erlang/OTP build tool, like rebar. I am just running
it as a release from a script that erl-execs the boot file.

What complex stuff is the build system dealing with? I'm separating the
config file (and similar files) problem and the icu and couch_js problem. I
was hoping building those few C files wouldn't be bad, but I guess that is
not true from what you are saying?

I'd still say it should be autotools, or whatever, inside an Erlang build
system.

Tristan

On Wed, Nov 3, 2010 at 7:28 PM, Noah Slater  wrote:

> Have you wholesale replaced the existing build system?
>
> If you have, it's going to be a tad more complex than knocking up a few
> makefiles to compile C. There's lots of very complex stuff our build system
> copes with at the moment. I'm not convinced it can be replaced by an Erlang
> build system and a few shell scripts. We've had chats about improving the
> build system before, and I think the consensus is that we wrap an Erlang
> build system WITHIN the Autotools system.
>
> What are you thoughts?
>
> On 4 Nov 2010, at 00:04, Tristan Sloughter wrote:
>
> > If anyone by chance has or can easily create some simplistic make files
> or
> > something for compiling the C code that would be AWESOME. I haven't had
> time
> > to dig around what is needed to compile the different pieces but its the
> > last major piece to complete.
> >
> > Tristan
> >
> > On Wed, Nov 3, 2010 at 10:52 AM, Tristan Sloughter <
> > tristan.slough...@gmail.com> wrote:
> >
> >> Hi everyone, I have a github fork from apache/couchdb
> >> https://github.com/tsloughter/couchdb that I modified to be more OTP
> >> compliant and now builds with sinan (from http://erlware.org). There
> >> wasn't much that I've done so far. I moved the CouchDB app under
> >> lib/couchdb. I removed the other apps from the source tree, they can
> easily
> >> be installed with faxien (from http://erlware.org) and versions can be
> >> declared if necessary. I changed the _app.erl file to not start
> applications
> >> and added those applications instead to the applications list in the
> .app
> >> file. They will be started properly by the release's boot script.
> >>
> >> I moved all non-Erlang stuff to lib/couchdb/priv.
> >>
> >> I still have a number of things to do that I hope to get to tonight.
> First,
> >> fix up the two scripts under bin/. Fix the configuration file locations
> >> (some stuff is hardcoded for my environment). Add a hook to sinan to
> compile
> >> the icu driver -- right now I just copied the library over from a build
> of
> >> CouchDB I did separately.
> >>
> >> There are probably a few other things.. But I was able to do an
> >> application:start(couchdb) last night and see it working :).
> >>
> >> There were a few things I thought of changing within the code as I dug
> >> around but those are a separate issue that I'll bring up in discussion
> after
> >> all this is complete.
> >>
> >> Tristan
> >>
>
>


Re: CouchDB OTP

2010-11-03 Thread Jeff Zellner
Hi Tristan,

Great work on OTP'izing!

I think the core team (not to speak for them, just going on what I've seen
on this list) is moving towards (or has at least discussed) rebar + OTPizing
for 1.1.0(?).

The recent thread about this kicks off here:
http://mail-archives.apache.org/mod_mbox/couchdb-dev/201010.mbox/%3caanlkti=hfpkehr9kov0gfajgorwqg+tetmrnz9my=...@mail.gmail.com%3e

Breakdown of most of the issues from Paul Davis here:

http://mail-archives.apache.org/mod_mbox/couchdb-dev/201010.mbox/%3caanlktinjxrxteeg2zdghengqy+-jol+yxgpyrpsfn...@mail.gmail.com%3e

Cheers!

-Jeff

PS Also, thanks for ErlangCamp -- I had a blast and learned quite a bit --
unfortunately, didn't get to stick around in the evenings to socialise

On Wed, Nov 3, 2010 at 8:04 PM, Tristan Sloughter <
tristan.slough...@gmail.com> wrote:

> If anyone by chance has or can easily create some simplistic make files or
> something for compiling the C code that would be AWESOME. I haven't had
> time
> to dig around what is needed to compile the different pieces but its the
> last major piece to complete.
>
> Tristan
>
> On Wed, Nov 3, 2010 at 10:52 AM, Tristan Sloughter <
> tristan.slough...@gmail.com> wrote:
>
> > Hi everyone, I have a github fork from apache/couchdb
> > https://github.com/tsloughter/couchdb that I modified to be more OTP
> > compliant and now builds with sinan (from http://erlware.org). There
> > wasn't much that I've done so far. I moved the CouchDB app under
> > lib/couchdb. I removed the other apps from the source tree, they can
> easily
> > be installed with faxien (from http://erlware.org) and versions can be
> > declared if necessary. I changed the _app.erl file to not start
> applications
> > and added those applications instead to the applications list in the .app
> > file. They will be started properly by the release's boot script.
> >
> > I moved all non-Erlang stuff to lib/couchdb/priv.
> >
> > I still have a number of things to do that I hope to get to tonight.
> First,
> > fix up the two scripts under bin/. Fix the configuration file locations
> > (some stuff is hardcoded for my environment). Add a hook to sinan to
> compile
> > the icu driver -- right now I just copied the library over from a build
> of
> > CouchDB I did separately.
> >
> > There are probably a few other things.. But I was able to do an
> > application:start(couchdb) last night and see it working :).
> >
> > There were a few things I thought of changing within the code as I dug
> > around but those are a separate issue that I'll bring up in discussion
> after
> > all this is complete.
> >
> > Tristan
> >
>


Re: CouchDB OTP

2010-11-03 Thread Noah Slater
Have you wholesale replaced the existing build system?

If you have, it's going to be a tad more complex than knocking up a few 
makefiles to compile C. There's lots of very complex stuff our build system 
copes with at the moment. I'm not convinced it can be replaced by an Erlang 
build system and a few shell scripts. We've had chats about improving the build 
system before, and I think the consensus is that we wrap an Erlang build system 
WITHIN the Autotools system.

What are you thoughts?

On 4 Nov 2010, at 00:04, Tristan Sloughter wrote:

> If anyone by chance has or can easily create some simplistic make files or
> something for compiling the C code that would be AWESOME. I haven't had time
> to dig around what is needed to compile the different pieces but its the
> last major piece to complete.
> 
> Tristan
> 
> On Wed, Nov 3, 2010 at 10:52 AM, Tristan Sloughter <
> tristan.slough...@gmail.com> wrote:
> 
>> Hi everyone, I have a github fork from apache/couchdb
>> https://github.com/tsloughter/couchdb that I modified to be more OTP
>> compliant and now builds with sinan (from http://erlware.org). There
>> wasn't much that I've done so far. I moved the CouchDB app under
>> lib/couchdb. I removed the other apps from the source tree, they can easily
>> be installed with faxien (from http://erlware.org) and versions can be
>> declared if necessary. I changed the _app.erl file to not start applications
>> and added those applications instead to the applications list in the .app
>> file. They will be started properly by the release's boot script.
>> 
>> I moved all non-Erlang stuff to lib/couchdb/priv.
>> 
>> I still have a number of things to do that I hope to get to tonight. First,
>> fix up the two scripts under bin/. Fix the configuration file locations
>> (some stuff is hardcoded for my environment). Add a hook to sinan to compile
>> the icu driver -- right now I just copied the library over from a build of
>> CouchDB I did separately.
>> 
>> There are probably a few other things.. But I was able to do an
>> application:start(couchdb) last night and see it working :).
>> 
>> There were a few things I thought of changing within the code as I dug
>> around but those are a separate issue that I'll bring up in discussion after
>> all this is complete.
>> 
>> Tristan
>> 



Re: CouchDB OTP

2010-11-03 Thread Tristan Sloughter
If anyone by chance has or can easily create some simplistic make files or
something for compiling the C code that would be AWESOME. I haven't had time
to dig around what is needed to compile the different pieces but its the
last major piece to complete.

Tristan

On Wed, Nov 3, 2010 at 10:52 AM, Tristan Sloughter <
tristan.slough...@gmail.com> wrote:

> Hi everyone, I have a github fork from apache/couchdb
> https://github.com/tsloughter/couchdb that I modified to be more OTP
> compliant and now builds with sinan (from http://erlware.org). There
> wasn't much that I've done so far. I moved the CouchDB app under
> lib/couchdb. I removed the other apps from the source tree, they can easily
> be installed with faxien (from http://erlware.org) and versions can be
> declared if necessary. I changed the _app.erl file to not start applications
> and added those applications instead to the applications list in the .app
> file. They will be started properly by the release's boot script.
>
> I moved all non-Erlang stuff to lib/couchdb/priv.
>
> I still have a number of things to do that I hope to get to tonight. First,
> fix up the two scripts under bin/. Fix the configuration file locations
> (some stuff is hardcoded for my environment). Add a hook to sinan to compile
> the icu driver -- right now I just copied the library over from a build of
> CouchDB I did separately.
>
> There are probably a few other things.. But I was able to do an
> application:start(couchdb) last night and see it working :).
>
> There were a few things I thought of changing within the code as I dug
> around but those are a separate issue that I'll bring up in discussion after
> all this is complete.
>
> Tristan
>


[jira] Commented: (COUCHDB-523) View API POST keys to retrieve multiple docs by key could also allow for multiple 'range' queries, i.e. an array of { startkey: .., endkey: ... } params in the POST

2010-11-03 Thread Paul Joseph Davis (JIRA)

[ 
https://issues.apache.org/jira/browse/COUCHDB-523?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12927982#action_12927982
 ] 

Paul Joseph Davis commented on COUCHDB-523:
---

I would say that Adam's array based approach is probably going to be more 
sensible as it allows people to more easily control the order in which the 
queries are processed in the case where someone wants to aggregate some sort of 
result across the multiple views.

For the response I think having a {"results": $array_of_results} wrapper is 
probably better as it allows for future changes more easily if we start 
annotating that response.

Just for fun, has anyone considered how this would integrate with _lists? Or if 
we people should be allowed to make queries on multiple views, and if so if 
they should or shouldn't be scoped to a design doc? 

> View API POST keys to retrieve multiple docs by key could also allow for 
> multiple 'range' queries, i.e. an array of { startkey: .., endkey: ... } 
> params in the POST
> 
>
> Key: COUCHDB-523
> URL: https://issues.apache.org/jira/browse/COUCHDB-523
> Project: CouchDB
>  Issue Type: Improvement
>  Components: HTTP Interface
>Reporter: Nathan Stott
>Assignee: Adam Kocoloski
>Priority: Minor
> Fix For: 1.1
>
> Attachments: couch_httpd_view.erl, multi_start_end_key.diff, 
> ranged_key_post.diff
>
>
> It would be useful if I could do a single POST to a view to retrieve multiple 
> ranges specified by startkey, endkey.
> The format could be as follows:
> { "ranges": [ { "startkey": "a", "endkey": "c" }, { "startkey":"g", 
> "endkey":"z" } ] }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (COUCHDB-523) View API POST keys to retrieve multiple docs by key could also allow for multiple 'range' queries, i.e. an array of { startkey: .., endkey: ... } params in the POST

2010-11-03 Thread Adam Kocoloski (JIRA)

[ 
https://issues.apache.org/jira/browse/COUCHDB-523?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12927976#action_12927976
 ] 

Adam Kocoloski commented on COUCHDB-523:


Hi Anand, I'd like to see some of the other commenters weigh in on that one.  
Personally I think it'd be a bit of a hassle to name each of my queries in a 
multi-query request.  I think I prefer the order-preserving behavior of an 
Array, where I could construct my queries Array in order and then just 
concatenate the rows from the individual responses.

I can say that implementing the API as you've written it is not much more 
difficult than the Array-based one.

> View API POST keys to retrieve multiple docs by key could also allow for 
> multiple 'range' queries, i.e. an array of { startkey: .., endkey: ... } 
> params in the POST
> 
>
> Key: COUCHDB-523
> URL: https://issues.apache.org/jira/browse/COUCHDB-523
> Project: CouchDB
>  Issue Type: Improvement
>  Components: HTTP Interface
>Reporter: Nathan Stott
>Assignee: Adam Kocoloski
>Priority: Minor
> Fix For: 1.1
>
> Attachments: couch_httpd_view.erl, multi_start_end_key.diff, 
> ranged_key_post.diff
>
>
> It would be useful if I could do a single POST to a view to retrieve multiple 
> ranges specified by startkey, endkey.
> The format could be as follows:
> { "ranges": [ { "startkey": "a", "endkey": "c" }, { "startkey":"g", 
> "endkey":"z" } ] }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Re: multi columns

2010-11-03 Thread Mark J. Reed
On Wed, Nov 3, 2010 at 12:32 PM, sgoto  wrote:
>    are there any plans for supporting multi columns in couchdb  (eg update
> one column for a key without re writing the entire row) ?

I think it's misleading to refer to CouchDB documents as "rows", since
each of them can have a completely unique set of "columns".  I suppose
every set of attributes on some doc in a database can be considered as
the schema for an abstract table containing all the docs with that set
of attributes, but it's a bit of a stretch, especially when you get
into overlapping attributes.

Anyway, CouchDB doesn't have this feature.  I disagree with sgoto that
the crash-only design prohibits it, however. Certainly the server
would have to append the entire modified record to the data store, but
that doesn't mean the entire document has to go over the wire back and
forth between the server and the client.  As long as the modification
was anchored to a specific _rev, it would just be shorthand for the
GET, PUT sequence currently required.

I second the recommendation for MongoDB, which has good support for
both in-place document modification and ad-hoc querying.  The
"reliability and/or deployment complexity" comes down to a few key
differences between Couch and Mongo:

   - Mongo is not crash-only; in fact, a standalone Mongo instance has
no reliability guarantees whatsoever.  You need to always use
clustering if you want to avoid losing or corrupting data.
  - Clustering is a little more involved to set up than CouchDB
replication, and master/master is still experimental
  - It uses a binary client/server protocol, software for which needs
to be installed wherever clients run

So it's different, but a good system that might fit your use case better.

-- 
Mark J. Reed 


Re: multi columns

2010-11-03 Thread Luciano Ramalho
On Wed, Nov 3, 2010 at 1:32 PM, sgoto  wrote:
> hi couchdb,
>
>    are there any plans for supporting multi columns in couchdb  (eg update
> one column for a key without re writing the entire row) ?

I am not a CouchDB guru, but from reading the docs it is clear to me
the answer is no. For one thing, your proposed change would break the
"crash only" design of CouchDB, one of its best features. See here:

"""
On-disk, CouchDB never overwrites committed data or associated
structures, ensuring the database file is always in a consistent
state. This is a “crash-only” design where the CouchDB server does not
go through a shut down process, it’s simply terminated.
"""
http://couchdb.apache.org/docs/overview.html

If you want in-place updates, and you are ready to pay its price in
terms of reliability and/or deployment complexity, try MongoDB.

-- 
Luciano Ramalho
programador repentista || stand-up programmer
Twitter: @luciano


CouchDB OTP

2010-11-03 Thread Tristan Sloughter
Hi everyone, I have a github fork from apache/couchdb
https://github.com/tsloughter/couchdb that I modified to be more OTP
compliant and now builds with sinan (from http://erlware.org). There wasn't
much that I've done so far. I moved the CouchDB app under lib/couchdb. I
removed the other apps from the source tree, they can easily be installed
with faxien (from http://erlware.org) and versions can be declared if
necessary. I changed the _app.erl file to not start applications and added
those applications instead to the applications list in the .app file. They
will be started properly by the release's boot script.

I moved all non-Erlang stuff to lib/couchdb/priv.

I still have a number of things to do that I hope to get to tonight. First,
fix up the two scripts under bin/. Fix the configuration file locations
(some stuff is hardcoded for my environment). Add a hook to sinan to compile
the icu driver -- right now I just copied the library over from a build of
CouchDB I did separately.

There are probably a few other things.. But I was able to do an
application:start(couchdb) last night and see it working :).

There were a few things I thought of changing within the code as I dug
around but those are a separate issue that I'll bring up in discussion after
all this is complete.

Tristan


Re: Release 1.0.2

2010-11-03 Thread Filipe David Manana
and done


On Wed, Nov 3, 2010 at 4:55 PM, Filipe David Manana  wrote:
> Seems fine to me.
> Doing it in a few minutes.
>
> On Wed, Nov 3, 2010 at 4:15 PM, Jan Lehnardt  wrote:
>>
>> On 3 Nov 2010, at 12:13, Filipe David Manana wrote:
>>
>>> The bug was confirmed by Chandru, and he has already a fix for the
>>> next Ibrowse version (not yet on github or public elsewhere).
>>> According to him, it shouldn't take more than 1 or 2 days to add it to
>>> Ibrowse's public github repository.
>>>
>>> https://github.com/cmullaparthi/ibrowse/issues/#issue/17
>>
>> What do you think about just applying your patch to the current version
>> of iBrowse instead of updating to a new version shortly before a CouchDB
>> release to ensure it doesn't introduce new issues? — We can then update
>> iBrowse in trunk after branching 1.1.x.
>>
>> Cheers
>> Jan
>> --
>>
>>
>>
>>>
>>> On Tue, Nov 2, 2010 at 9:50 PM, Jan Lehnardt  wrote:
 I agree, let's wait for this one.

 Cheers
 Jan
 --

 On 2 Nov 2010, at 21:56, Filipe David Manana wrote:

> Unfortunately, I'm now -1 on releasing 1.0.2.
>
> I've found today a serious issue in ibrowse 2.0 (branch 1.0.x and
> trunk). I created a patch and a ticket at github:
>
> http://github.com/cmullaparthi/ibrowse/issues/#issue/17
>
> I would like to wait for an approval from Chandru (ibrowse's author)
> before patching our ibrowse version. Hopefully it won't take more than
> 1 or 2 days.
>
>
> On Mon, Nov 1, 2010 at 10:27 AM, Filipe David Manana
>  wrote:
>> +1
>>
>> On Mon, Nov 1, 2010 at 10:10 AM, Dirkjan Ochtman  
>> wrote:
>>> On Mon, Oct 25, 2010 at 15:12, Jan Lehnardt  wrote:
 How did that go? :)
>>>
>>> Jan said it was okay for me to continue my apparently weekly nagging
>>> for 1.0.2, so consider yourselves nagged.
>>>
>>> Cheers,
>>>
>>> Dirkjan
>>>
>>
>>
>>
>> --
>> Filipe David Manana,
>> fdman...@gmail.com, fdman...@apache.org
>>
>> "Reasonable men adapt themselves to the world.
>>  Unreasonable men adapt the world to themselves.
>>  That's why all progress depends on unreasonable men."
>>
>
>
>
> --
> Filipe David Manana,
> fdman...@gmail.com, fdman...@apache.org
>
> "Reasonable men adapt themselves to the world.
>  Unreasonable men adapt the world to themselves.
>  That's why all progress depends on unreasonable men."


>>>
>>>
>>>
>>> --
>>> Filipe David Manana,
>>> fdman...@gmail.com, fdman...@apache.org
>>>
>>> "Reasonable men adapt themselves to the world.
>>>  Unreasonable men adapt the world to themselves.
>>>  That's why all progress depends on unreasonable men."
>>
>>
>
>
>
> --
> Filipe David Manana,
> fdman...@gmail.com, fdman...@apache.org
>
> "Reasonable men adapt themselves to the world.
>  Unreasonable men adapt the world to themselves.
>  That's why all progress depends on unreasonable men."
>



-- 
Filipe David Manana,
fdman...@gmail.com, fdman...@apache.org

"Reasonable men adapt themselves to the world.
 Unreasonable men adapt the world to themselves.
 That's why all progress depends on unreasonable men."


Re: Release 1.0.2

2010-11-03 Thread Filipe David Manana
Seems fine to me.
Doing it in a few minutes.

On Wed, Nov 3, 2010 at 4:15 PM, Jan Lehnardt  wrote:
>
> On 3 Nov 2010, at 12:13, Filipe David Manana wrote:
>
>> The bug was confirmed by Chandru, and he has already a fix for the
>> next Ibrowse version (not yet on github or public elsewhere).
>> According to him, it shouldn't take more than 1 or 2 days to add it to
>> Ibrowse's public github repository.
>>
>> https://github.com/cmullaparthi/ibrowse/issues/#issue/17
>
> What do you think about just applying your patch to the current version
> of iBrowse instead of updating to a new version shortly before a CouchDB
> release to ensure it doesn't introduce new issues? — We can then update
> iBrowse in trunk after branching 1.1.x.
>
> Cheers
> Jan
> --
>
>
>
>>
>> On Tue, Nov 2, 2010 at 9:50 PM, Jan Lehnardt  wrote:
>>> I agree, let's wait for this one.
>>>
>>> Cheers
>>> Jan
>>> --
>>>
>>> On 2 Nov 2010, at 21:56, Filipe David Manana wrote:
>>>
 Unfortunately, I'm now -1 on releasing 1.0.2.

 I've found today a serious issue in ibrowse 2.0 (branch 1.0.x and
 trunk). I created a patch and a ticket at github:

 http://github.com/cmullaparthi/ibrowse/issues/#issue/17

 I would like to wait for an approval from Chandru (ibrowse's author)
 before patching our ibrowse version. Hopefully it won't take more than
 1 or 2 days.


 On Mon, Nov 1, 2010 at 10:27 AM, Filipe David Manana
  wrote:
> +1
>
> On Mon, Nov 1, 2010 at 10:10 AM, Dirkjan Ochtman  
> wrote:
>> On Mon, Oct 25, 2010 at 15:12, Jan Lehnardt  wrote:
>>> How did that go? :)
>>
>> Jan said it was okay for me to continue my apparently weekly nagging
>> for 1.0.2, so consider yourselves nagged.
>>
>> Cheers,
>>
>> Dirkjan
>>
>
>
>
> --
> Filipe David Manana,
> fdman...@gmail.com, fdman...@apache.org
>
> "Reasonable men adapt themselves to the world.
>  Unreasonable men adapt the world to themselves.
>  That's why all progress depends on unreasonable men."
>



 --
 Filipe David Manana,
 fdman...@gmail.com, fdman...@apache.org

 "Reasonable men adapt themselves to the world.
  Unreasonable men adapt the world to themselves.
  That's why all progress depends on unreasonable men."
>>>
>>>
>>
>>
>>
>> --
>> Filipe David Manana,
>> fdman...@gmail.com, fdman...@apache.org
>>
>> "Reasonable men adapt themselves to the world.
>>  Unreasonable men adapt the world to themselves.
>>  That's why all progress depends on unreasonable men."
>
>



-- 
Filipe David Manana,
fdman...@gmail.com, fdman...@apache.org

"Reasonable men adapt themselves to the world.
 Unreasonable men adapt the world to themselves.
 That's why all progress depends on unreasonable men."


[jira] Commented: (COUCHDB-523) View API POST keys to retrieve multiple docs by key could also allow for multiple 'range' queries, i.e. an array of { startkey: .., endkey: ... } params in the POST

2010-11-03 Thread Anand Chitipothu (JIRA)

[ 
https://issues.apache.org/jira/browse/COUCHDB-523?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12927900#action_12927900
 ] 

Anand Chitipothu commented on COUCHDB-523:
--


How about considering a dict instead of a list for queries? Keeping track of 
dictionary keys is much easier than keeping track of array indicies.

{
"queries": {
"foo": {"key":"foo"}, 
"bar": {"startkey":"bar", "endkey":"baz", "limit":10}, 
...
}
} 

And the response will be dictionary with same keys. 

{
"results": {
"foo": {"total_rows":100, "offset":34, "rows":[...]}, 
"bar": {"total_rows":100, "offset":20, "rows":[...]} 
}
}

I'm not very sure if introducing  another nested level "results" is required, 
but it looks symmetrical to the request.


> View API POST keys to retrieve multiple docs by key could also allow for 
> multiple 'range' queries, i.e. an array of { startkey: .., endkey: ... } 
> params in the POST
> 
>
> Key: COUCHDB-523
> URL: https://issues.apache.org/jira/browse/COUCHDB-523
> Project: CouchDB
>  Issue Type: Improvement
>  Components: HTTP Interface
>Reporter: Nathan Stott
>Assignee: Adam Kocoloski
>Priority: Minor
> Fix For: 1.1
>
> Attachments: couch_httpd_view.erl, multi_start_end_key.diff, 
> ranged_key_post.diff
>
>
> It would be useful if I could do a single POST to a view to retrieve multiple 
> ranges specified by startkey, endkey.
> The format could be as follows:
> { "ranges": [ { "startkey": "a", "endkey": "c" }, { "startkey":"g", 
> "endkey":"z" } ] }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Re: multi columns

2010-11-03 Thread Simon Metson

Hi,
Apart from when you use an update handler: 
http://wiki.apache.org/couchdb/Document_Update_Handlers
Cheers
Simon

On 3 Nov 2010, at 16:34, Sebastian Cohnen wrote:


Hey Sam,

there are no columns in CouchDB, only documents. And no, you cannot  
update documents partially with CouchDB.


Best

Sebastian

On 03.11.2010, at 17:32, sgoto wrote:


hi couchdb,

  are there any plans for supporting multi columns in couchdb  (eg  
update

one column for a key without re writing the entire row) ?

  sam

--
f u cn rd ths u cn b a gd prgmr !






Re: multi columns

2010-11-03 Thread Sebastian Cohnen
Hey Sam,

there are no columns in CouchDB, only documents. And no, you cannot update 
documents partially with CouchDB.

Best

Sebastian

On 03.11.2010, at 17:32, sgoto wrote:

> hi couchdb,
> 
>are there any plans for supporting multi columns in couchdb  (eg update
> one column for a key without re writing the entire row) ?
> 
>sam
> 
> -- 
> f u cn rd ths u cn b a gd prgmr !



multi columns

2010-11-03 Thread sgoto
hi couchdb,

are there any plans for supporting multi columns in couchdb  (eg update
one column for a key without re writing the entire row) ?

sam

-- 
f u cn rd ths u cn b a gd prgmr !


Re: Release 1.0.2

2010-11-03 Thread Jan Lehnardt

On 3 Nov 2010, at 12:13, Filipe David Manana wrote:

> The bug was confirmed by Chandru, and he has already a fix for the
> next Ibrowse version (not yet on github or public elsewhere).
> According to him, it shouldn't take more than 1 or 2 days to add it to
> Ibrowse's public github repository.
> 
> https://github.com/cmullaparthi/ibrowse/issues/#issue/17

What do you think about just applying your patch to the current version 
of iBrowse instead of updating to a new version shortly before a CouchDB
release to ensure it doesn't introduce new issues? — We can then update
iBrowse in trunk after branching 1.1.x.

Cheers
Jan
-- 



> 
> On Tue, Nov 2, 2010 at 9:50 PM, Jan Lehnardt  wrote:
>> I agree, let's wait for this one.
>> 
>> Cheers
>> Jan
>> --
>> 
>> On 2 Nov 2010, at 21:56, Filipe David Manana wrote:
>> 
>>> Unfortunately, I'm now -1 on releasing 1.0.2.
>>> 
>>> I've found today a serious issue in ibrowse 2.0 (branch 1.0.x and
>>> trunk). I created a patch and a ticket at github:
>>> 
>>> http://github.com/cmullaparthi/ibrowse/issues/#issue/17
>>> 
>>> I would like to wait for an approval from Chandru (ibrowse's author)
>>> before patching our ibrowse version. Hopefully it won't take more than
>>> 1 or 2 days.
>>> 
>>> 
>>> On Mon, Nov 1, 2010 at 10:27 AM, Filipe David Manana
>>>  wrote:
 +1
 
 On Mon, Nov 1, 2010 at 10:10 AM, Dirkjan Ochtman  
 wrote:
> On Mon, Oct 25, 2010 at 15:12, Jan Lehnardt  wrote:
>> How did that go? :)
> 
> Jan said it was okay for me to continue my apparently weekly nagging
> for 1.0.2, so consider yourselves nagged.
> 
> Cheers,
> 
> Dirkjan
> 
 
 
 
 --
 Filipe David Manana,
 fdman...@gmail.com, fdman...@apache.org
 
 "Reasonable men adapt themselves to the world.
  Unreasonable men adapt the world to themselves.
  That's why all progress depends on unreasonable men."
 
>>> 
>>> 
>>> 
>>> --
>>> Filipe David Manana,
>>> fdman...@gmail.com, fdman...@apache.org
>>> 
>>> "Reasonable men adapt themselves to the world.
>>>  Unreasonable men adapt the world to themselves.
>>>  That's why all progress depends on unreasonable men."
>> 
>> 
> 
> 
> 
> -- 
> Filipe David Manana,
> fdman...@gmail.com, fdman...@apache.org
> 
> "Reasonable men adapt themselves to the world.
>  Unreasonable men adapt the world to themselves.
>  That's why all progress depends on unreasonable men."



Re: [jira] Commented: (COUCHDB-523) View API POST keys to retrieve multiple docs by key could also allow for multiple 'range' queries, i.e. an array of { startkey: .., endkey: ... } params in the POST

2010-11-03 Thread Robert Newson
I like that. I do something like it in c-l where multiple queries can
be issued and the result becomes an array of responses.

B.

On Wed, Nov 3, 2010 at 10:52 AM, Adam Kocoloski (JIRA)  wrote:
>
>    [ 
> https://issues.apache.org/jira/browse/COUCHDB-523?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12927868#action_12927868
>  ]
>
> Adam Kocoloski commented on COUCHDB-523:
> 
>
> I've been thinking about this issue a bit and would like to propose an 
> alternative syntax.  Instead of relying on overloading the "keys" field with 
> things that are not really view keys, we could allow a new field called 
> "queries" that looks like
>
> {"queries":[{"key":"foo"}, {"startkey":"bar", "endkey":"baz", "limit":10}, 
> ...]}
>
> That is, each element of the queries Array would be a JSON Object specifying 
> view query parameters.  Any parameters specified in the actual query string 
> would be included as defaults.  CouchDB would execute the view requests 
> serially and respond with an Array of view responses
>
> [
>  {"total_rows":100, "offset":34, "rows":[...]},
>  {"total_rows":100, "offset":20, "rows":[...]}
> ]
>
> The "keys" field and the "queries" field would be mutually exclusive.  The 
> Objects in the queries Array would allow a user to specify any query-string 
> parameter used with CouchDB views.  I'm not sure if _list functions would be 
> supported.
>
> This feature is really a crutch to help HTTP clients that cannot avail 
> themselves of advanced HTTP features such as pipelining.  I'm happy to add 
> it, though, as that the set of clients which do support pipelining is not 
> that large.
>
> What do you think?
>
>
>> View API POST keys to retrieve multiple docs by key could also allow for 
>> multiple 'range' queries, i.e. an array of { startkey: .., endkey: ... } 
>> params in the POST
>> 
>>
>>                 Key: COUCHDB-523
>>                 URL: https://issues.apache.org/jira/browse/COUCHDB-523
>>             Project: CouchDB
>>          Issue Type: Improvement
>>          Components: HTTP Interface
>>            Reporter: Nathan Stott
>>            Assignee: Adam Kocoloski
>>            Priority: Minor
>>             Fix For: 1.1
>>
>>         Attachments: couch_httpd_view.erl, multi_start_end_key.diff, 
>> ranged_key_post.diff
>>
>>
>> It would be useful if I could do a single POST to a view to retrieve 
>> multiple ranges specified by startkey, endkey.
>> The format could be as follows:
>> { "ranges": [ { "startkey": "a", "endkey": "c" }, { "startkey":"g", 
>> "endkey":"z" } ] }
>
> --
> This message is automatically generated by JIRA.
> -
> You can reply to this email to add a comment to the issue online.
>
>


[jira] Commented: (COUCHDB-523) View API POST keys to retrieve multiple docs by key could also allow for multiple 'range' queries, i.e. an array of { startkey: .., endkey: ... } params in the POST

2010-11-03 Thread Adam Kocoloski (JIRA)

[ 
https://issues.apache.org/jira/browse/COUCHDB-523?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12927868#action_12927868
 ] 

Adam Kocoloski commented on COUCHDB-523:


I've been thinking about this issue a bit and would like to propose an 
alternative syntax.  Instead of relying on overloading the "keys" field with 
things that are not really view keys, we could allow a new field called 
"queries" that looks like

{"queries":[{"key":"foo"}, {"startkey":"bar", "endkey":"baz", "limit":10}, ...]}

That is, each element of the queries Array would be a JSON Object specifying 
view query parameters.  Any parameters specified in the actual query string 
would be included as defaults.  CouchDB would execute the view requests 
serially and respond with an Array of view responses

[
  {"total_rows":100, "offset":34, "rows":[...]},
  {"total_rows":100, "offset":20, "rows":[...]}
]

The "keys" field and the "queries" field would be mutually exclusive.  The 
Objects in the queries Array would allow a user to specify any query-string 
parameter used with CouchDB views.  I'm not sure if _list functions would be 
supported.

This feature is really a crutch to help HTTP clients that cannot avail 
themselves of advanced HTTP features such as pipelining.  I'm happy to add it, 
though, as that the set of clients which do support pipelining is not that 
large.

What do you think?


> View API POST keys to retrieve multiple docs by key could also allow for 
> multiple 'range' queries, i.e. an array of { startkey: .., endkey: ... } 
> params in the POST
> 
>
> Key: COUCHDB-523
> URL: https://issues.apache.org/jira/browse/COUCHDB-523
> Project: CouchDB
>  Issue Type: Improvement
>  Components: HTTP Interface
>Reporter: Nathan Stott
>Assignee: Adam Kocoloski
>Priority: Minor
> Fix For: 1.1
>
> Attachments: couch_httpd_view.erl, multi_start_end_key.diff, 
> ranged_key_post.diff
>
>
> It would be useful if I could do a single POST to a view to retrieve multiple 
> ranges specified by startkey, endkey.
> The format could be as follows:
> { "ranges": [ { "startkey": "a", "endkey": "c" }, { "startkey":"g", 
> "endkey":"z" } ] }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Re: websockets?

2010-11-03 Thread Dmitry Unkovsky
+1 on "websockets a better fit". The exact fit ;)

After all, it can go very nice with erlang messaging concept.
http://armstrongonsoftware.blogspot.com/2009/12/comet-is-dead-long-live-websockets.html

On 2 November 2010 21:22, Dirkjan Ochtman  wrote:
> On Tue, Nov 2, 2010 at 19:32, Jan Lehnardt  wrote:
>> Can you qualify "better fit". Not trying to throw stones your way, but
>> what exactly makes it better in your view? (Maybe all I need is a link
>> to the ticket :)
>
> I don't think there's much in the ticket.
>
> It seems to me that HTTP is fundamentally a request-response protocol.
> You can do multiple requests over a single connection, but that's not
> what the changes feed does. The way HTTP is used for the changes feed
> seems to be, "here's this response that never ends, be sure to poll it
> once in a while to see if it's grown". On the other hand, the
> WebSocket model seems to fundamentally be about sending small(er)
> chunks of data between HTTP server and client, which seems to be a
> better fit for the continuous changes feed conceptually, and would
> probably make accepting those chunks from JS running in a browser and
> updating your page state with them much easier, just because now we're
> talking about small chunk events instead of a growing response
> document.
>
> Cheers,
>
> Dirkjan
>



-- 
DU


Re: Release 1.0.2

2010-11-03 Thread Filipe David Manana
The bug was confirmed by Chandru, and he has already a fix for the
next Ibrowse version (not yet on github or public elsewhere).
According to him, it shouldn't take more than 1 or 2 days to add it to
Ibrowse's public github repository.

https://github.com/cmullaparthi/ibrowse/issues/#issue/17

On Tue, Nov 2, 2010 at 9:50 PM, Jan Lehnardt  wrote:
> I agree, let's wait for this one.
>
> Cheers
> Jan
> --
>
> On 2 Nov 2010, at 21:56, Filipe David Manana wrote:
>
>> Unfortunately, I'm now -1 on releasing 1.0.2.
>>
>> I've found today a serious issue in ibrowse 2.0 (branch 1.0.x and
>> trunk). I created a patch and a ticket at github:
>>
>> http://github.com/cmullaparthi/ibrowse/issues/#issue/17
>>
>> I would like to wait for an approval from Chandru (ibrowse's author)
>> before patching our ibrowse version. Hopefully it won't take more than
>> 1 or 2 days.
>>
>>
>> On Mon, Nov 1, 2010 at 10:27 AM, Filipe David Manana
>>  wrote:
>>> +1
>>>
>>> On Mon, Nov 1, 2010 at 10:10 AM, Dirkjan Ochtman  wrote:
 On Mon, Oct 25, 2010 at 15:12, Jan Lehnardt  wrote:
> How did that go? :)

 Jan said it was okay for me to continue my apparently weekly nagging
 for 1.0.2, so consider yourselves nagged.

 Cheers,

 Dirkjan

>>>
>>>
>>>
>>> --
>>> Filipe David Manana,
>>> fdman...@gmail.com, fdman...@apache.org
>>>
>>> "Reasonable men adapt themselves to the world.
>>>  Unreasonable men adapt the world to themselves.
>>>  That's why all progress depends on unreasonable men."
>>>
>>
>>
>>
>> --
>> Filipe David Manana,
>> fdman...@gmail.com, fdman...@apache.org
>>
>> "Reasonable men adapt themselves to the world.
>>  Unreasonable men adapt the world to themselves.
>>  That's why all progress depends on unreasonable men."
>
>



-- 
Filipe David Manana,
fdman...@gmail.com, fdman...@apache.org

"Reasonable men adapt themselves to the world.
 Unreasonable men adapt the world to themselves.
 That's why all progress depends on unreasonable men."


[jira] Closed: (COUCHDB-932) create_target CreateDB PUT request fails

2010-11-03 Thread Filipe Manana (JIRA)

 [ 
https://issues.apache.org/jira/browse/COUCHDB-932?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Filipe Manana closed COUCHDB-932.
-

Resolution: Fixed

Committed to trunk and 1.0.x.
I only left out the unrelated change to the test design_docs.js. (Which was 
already in trunk btw).

Thanks Dale.

> create_target CreateDB PUT request fails
> 
>
> Key: COUCHDB-932
> URL: https://issues.apache.org/jira/browse/COUCHDB-932
> Project: CouchDB
>  Issue Type: Bug
>  Components: Replication
> Environment: On a Mobile Broadband Connection
>Reporter: Dale Harvey
> Attachments: anon.patch
>
>
> Some proxies (for mobile broadband providers) require Content-Length to set 
> for all PUT requests

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.