From 830f635cd7568168d8529909ad1d8e2407abae5c Mon Sep 17 00:00:00 2001 From: Jason Petersen Date: Wed, 22 Jan 2014 17:43:45 -0700 Subject: [PATCH 01/11] Add .gitignore file Used the C template from https://github.com/github/gitignore --- .gitignore | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6f21dc5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,27 @@ +# ===== +# = C = +# ===== + +# Object files +*.o +*.ko +*.obj +*.elf + +# Libraries +*.lib +*.a + +# Shared objects (inc. Windows DLLs) +*.dll +*.so +*.so.* +*.dylib + +# Executables +*.exe +*.out +*.app +*.i*86 +*.x86_64 +*.hex From 86dde43ff44f26ef606a9587739e2df99a6e27f3 Mon Sep 17 00:00:00 2001 From: Jason Petersen Date: Wed, 22 Jan 2014 17:46:01 -0700 Subject: [PATCH 02/11] Fix build under Postgres 9.3 With the change to the `.SECONDARY` rule in [this commit][1], vanilla Postgres extension builds do not keep intermediate files. Rather than directly defining `all` and `clean` targets, we should be following the [Postgres guidelines for making extensions][2] if at all possible. This is as simple as defining special variables before in- cluding the PGXS Makefile and making sure all relevant dependencies can be built if needed. [1]: postgres/postgres@1eb1dde [2]: http://www.postgresql.org/docs/current/static/extend-pgxs.html --- Makefile | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index 40e7947..0c6982f 100644 --- a/Makefile +++ b/Makefile @@ -19,18 +19,8 @@ OBJS = mongo_fdw.o mongo_query.o $(MONGO_OBJS) EXTENSION = mongo_fdw DATA = mongo_fdw--1.0.sql -# -# We first build our dependency, the Mongo C driver library here. For this, we -# explicitly invoke the subdirectory's make system. -# - -all: all-mongo-driver -all-mongo-driver: - $(MAKE) -C $(MONGO_DRIVER) all - -clean: clean-mongo-driver -clean-mongo-driver: - $(MAKE) -C $(MONGO_DRIVER) clean +$(MONGO_DRIVER)/%.os: + $(MAKE) -C $(MONGO_DRIVER) $*.os # # Users need to specify their Postgres installation path through pg_config. For From 8166c121e3af6765ee93f760a401e6633fd674e2 Mon Sep 17 00:00:00 2001 From: metdos Date: Mon, 27 Jan 2014 18:38:13 +0200 Subject: [PATCH 03/11] (1) Added support for PostgreSQL 9.3. (2) README file is updated accordingly. --- README | 4 ++-- mongo_fdw.c | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/README b/README index 72c03dc..0314cf2 100644 --- a/README +++ b/README @@ -1,10 +1,10 @@ -MongoDB FDW for PostgreSQL 9.2 +MongoDB FDW for PostgreSQL 9.2 and PostgreSQL 9.3 ============================== This PostgreSQL extension implements a Foreign Data Wrapper (FDW) for MongoDB. For an example setup that demonstrates this wrapper's use, please see http://www.citusdata.com/blog/51-run-sql-on-mongodb. Please also note that this -version of mongo_fdw only works with PostgreSQL 9.2. +version of mongo_fdw works with PostgreSQL 9.2 and PostgreSQL 9.3. Building diff --git a/mongo_fdw.c b/mongo_fdw.c index a22aa56..72ce299 100644 --- a/mongo_fdw.c +++ b/mongo_fdw.c @@ -36,6 +36,10 @@ #include "utils/rel.h" #include "utils/memutils.h" +#if PG_VERSION_NUM >= 90300 + #include "access/htup_details.h" +#endif + /* Local functions forward declarations */ static StringInfo OptionNamesString(Oid currentContextId); From 261d1ce6841a4b078cbd4f4655bae3535e30260c Mon Sep 17 00:00:00 2001 From: Jason Petersen Date: Mon, 27 Jan 2014 20:09:53 -0700 Subject: [PATCH 04/11] Add Markdown suffix to `README` For better markup capabilities. --- README => README.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename README => README.md (100%) diff --git a/README b/README.md similarity index 100% rename from README rename to README.md From fae06888852183bc21a72a9ab368c00274ddcb3c Mon Sep 17 00:00:00 2001 From: Jason Petersen Date: Mon, 27 Jan 2014 20:11:09 -0700 Subject: [PATCH 05/11] Enhance `README` markup Links, lists, headers, etc. --- README.md | 92 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 51 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index 0314cf2..e84060a 100644 --- a/README.md +++ b/README.md @@ -1,57 +1,61 @@ -MongoDB FDW for PostgreSQL 9.2 and PostgreSQL 9.3 -============================== +MongoDB FDW for PostgreSQL +========================== -This PostgreSQL extension implements a Foreign Data Wrapper (FDW) for MongoDB. -For an example setup that demonstrates this wrapper's use, please see -http://www.citusdata.com/blog/51-run-sql-on-mongodb. Please also note that this -version of mongo_fdw works with PostgreSQL 9.2 and PostgreSQL 9.3. +This PostgreSQL extension implements a Foreign Data Wrapper (FDW) for +[MongoDB][1]. For an example demonstrating this wrapper's use, see [our blog +post][2]. Please also note that this version of `mongo_fdw` only works with +PostgreSQL 9.2 or 9.3. -Building --------- +Installation +------------ -The MongoDB FDW already includes the official MongoDB C Driver version 0.6. When -you type make, the C driver's source code also gets automatically compiled and +The MongoDB FDW includes the official MongoDB C Driver version 0.6. When you +type `make`, the C driver's source code also gets automatically compiled and linked. -To build on POSIX compliant systems (Linux and OS X), you simply need to include -the pg_config directory path in your make command. This path is typically the -same as your PostgreSQL installation's bin/ directory path. For example: +To build on POSIX-compliant systems (like Linux and OS X), you need to ensure +the `pg_config` executable is in your path when you run `make`. This executable +is typically in your PostgreSQL installation's `bin` directory. For example: -$ PATH=/usr/local/pgsql/bin/:$PATH make -$ sudo PATH=/usr/local/pgsql/bin/:$PATH make install +```sh +PATH=/usr/local/pgsql/bin/:$PATH make +sudo PATH=/usr/local/pgsql/bin/:$PATH make install +``` -Note that we have tested the mongo_fdw extension only on Fedora and Ubuntu -systems. Please let us know if you run into any issues on other systems. +Note that we have tested the `mongo_fdw` extension only on Fedora and Ubuntu +systems. If you run into issues on other systems, please [let us know][3]. Usage ----- -The following parameters can be set on a MongoDB foreign server object. +The following parameters can be set on a MongoDB foreign server object: -* address: The address or hostname of the MongoDB server. Defaults to "127.0.0.1". -* port: The port number of the MongoDB server. Defaults to 27017. + * `address`: the address or hostname of the MongoDB server. + Defaults to `127.0.0.1` + * `port`: the port number of the MongoDB server. Defaults to `27017` -The following parameters can be set on a MongoDB foreign table object. +The following parameters can be set on a MongoDB foreign table object: -* database: The name of the MongoDB database to query. Defaults to "test". -* collection: The name of the MongoDB collection to query. Defaults to foreign - table name specified in the create command. + * `database`: the name of the MongoDB database to query. Defaults to `test` + * `collection`: the name of the MongoDB collection to query. Defaults to + the foreign table name used in the relevant `CREATE` command -As an example, the following commands demonstrate loading the mongo_fdw wrapper, -creating a server, and then creating a foreign table associated with a MongoDB -collection. The commands also show specifying option values in the OPTIONS -clause. If an option value isn't provided, the wrapper uses the default value -mentioned above. +As an example, the following commands demonstrate loading the `mongo_fdw` +wrapper, creating a server, and then creating a foreign table associated with +a MongoDB collection. The commands also show specifying option values in the +`OPTIONS` clause. If an option value isn't provided, the wrapper uses the +default value mentioned above. -mongo_fdw can collect data distribution statistics and incorporates them when -estimating costs for the query execution plan. In the mean time, you run EXPLAIN -on your queries to see the selected execution plans. +`mongo_fdw` can collect data distribution statistics will incorporate them when +estimating costs for the query execution plan. To see selected execution plans +for a query, just run `EXPLAIN`. -We also currently use the internal PostgreSQL NAME type to represent the BSON -object identifier type (_id field). +We also currently use the internal PostgreSQL `NAME` type to represent the BSON +object identifier type (the `_id` field). +```sql -- load extension first time after install CREATE EXTENSION mongo_fdw; @@ -77,19 +81,21 @@ OPTIONS (database 'test', collection 'customer_reviews'); -- collect data distribution statistics ANALYZE customer_reviews; +``` Limitations ----------- -* If the BSON document key contains upper-case letters or occurs within a nested - document, mongo_fdw requires the corresponding column names to be declared in - double quotes. For example, a nested field such as "review": { "Votes": 19 } - should be declared as "review.Votes" INTEGER in the create table statement. + * If the BSON document key contains uppercase letters or occurs within a + nested document, `mongo_fdw` requires the corresponding column names to be + declared in double quotes. For example, a nested field such as `"review": { + "Votes": 19 }` should be declared as `"review.Votes" INTEGER` in the create + table statement. -* Please note that PostgreSQL limits column names to 63 characters by default. - If you need column names that are longer, you can increase the NAMEDATALEN - constant in src/include/pg_config_manual.h, compile, and reinstall. + * Note that PostgreSQL limits column names to 63 characters by default. If + you need column names that are longer, you can increase the `NAMEDATALEN` + constant in `src/include/pg_config_manual.h`, compile, and reinstall. Copyright @@ -102,3 +108,7 @@ GNU GPL v3.0 License. For all types of questions and comments about the wrapper, please contact us at engage @ citusdata.com. + +[1]: http://www.mongodb.com +[2]: http://www.citusdata.com/blog/51-run-sql-on-mongodb +[3]: https://github.com/citusdata/mongo_fdw/issues/new From 092b820286266723c004a55aa2d5b981bce3da5c Mon Sep 17 00:00:00 2001 From: Jason Petersen Date: Mon, 27 Jan 2014 20:33:39 -0700 Subject: [PATCH 06/11] Update license information We mean to use LGPLv3, not GPLv3. The former allows a shared library to be linked from non-free software; the latter does not. Also updated copyright declarations (first year of release through current release year). --- LICENSE | 165 +++++++++++++++++++++++++++++++++++++++++++++ Makefile | 3 + README.md | 15 +++-- mongo_fdw--1.0.sql | 4 +- mongo_fdw.c | 4 +- mongo_fdw.control | 3 + mongo_fdw.h | 4 +- mongo_query.c | 4 +- mongo_query.h | 4 +- 9 files changed, 188 insertions(+), 18 deletions(-) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..6600f1c --- /dev/null +++ b/LICENSE @@ -0,0 +1,165 @@ +GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/Makefile b/Makefile index 0c6982f..b4543d8 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,7 @@ # mongo_fdw/Makefile +# +# Copyright (c) 2012-2014 Citus Data, Inc. +# MODULE_big = mongo_fdw diff --git a/README.md b/README.md index e84060a..3d76098 100644 --- a/README.md +++ b/README.md @@ -98,17 +98,22 @@ Limitations constant in `src/include/pg_config_manual.h`, compile, and reinstall. -Copyright ---------- +License +------- -Copyright (c) 2012 Citus Data, Inc. +Copyright © 2012–2014 Citus Data, Inc. -This module is free software; you can redistribute it and/or modify it under the -GNU GPL v3.0 License. +This program is free software: you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free +Software Foundation, either version 3 of the License, or (at your option) any +later version. For all types of questions and comments about the wrapper, please contact us at engage @ citusdata.com. +See the [LICENSE][4] file for full details. + [1]: http://www.mongodb.com [2]: http://www.citusdata.com/blog/51-run-sql-on-mongodb [3]: https://github.com/citusdata/mongo_fdw/issues/new +[4]: LICENSE diff --git a/mongo_fdw--1.0.sql b/mongo_fdw--1.0.sql index ba4f105..af83adf 100644 --- a/mongo_fdw--1.0.sql +++ b/mongo_fdw--1.0.sql @@ -1,4 +1,6 @@ -/* contrib/mongo_fdw/mongo_fdw--1.0.sql */ +/* mongo_fdw/mongo_fdw--1.0.sql */ + +-- Copyright (c) 2012-2014 Citus Data, Inc. -- complain if script is sourced in psql, rather than via CREATE EXTENSION \echo Use "CREATE EXTENSION mongo_fdw" to load this file. \quit diff --git a/mongo_fdw.c b/mongo_fdw.c index 72ce299..daa5438 100644 --- a/mongo_fdw.c +++ b/mongo_fdw.c @@ -5,9 +5,7 @@ * Function definitions for MongoDB foreign data wrapper. These functions access * data stored in MongoDB through the official C driver. * - * Copyright (c) 2012, Citus Data, Inc. - * - * $Id$ + * Copyright (c) 2012-2014 Citus Data, Inc. * *------------------------------------------------------------------------- */ diff --git a/mongo_fdw.control b/mongo_fdw.control index d8fd200..c0fbe86 100644 --- a/mongo_fdw.control +++ b/mongo_fdw.control @@ -1,4 +1,7 @@ # mongo_fdw extension +# +# Copyright (c) 2012-2014 Citus Data, Inc. +# comment = 'foreign data wrapper for MongoDB access' default_version = '1.0' module_pathname = '$libdir/mongo_fdw' diff --git a/mongo_fdw.h b/mongo_fdw.h index ea0e3ef..60947a2 100644 --- a/mongo_fdw.h +++ b/mongo_fdw.h @@ -4,9 +4,7 @@ * * Type and function declarations for MongoDB foreign data wrapper. * - * Copyright (c) 2012, Citus Data, Inc. - * - * $Id$ + * Copyright (c) 2012-2014 Citus Data, Inc. * *------------------------------------------------------------------------- */ diff --git a/mongo_query.c b/mongo_query.c index 57ec4f2..fb2ac33 100644 --- a/mongo_query.c +++ b/mongo_query.c @@ -6,9 +6,7 @@ * that queries are sent through the official MongoDB C driver, and apply query * optimizations to reduce the amount of data fetched from the driver. * - * Copyright (c) 2012, Citus Data, Inc. - * - * $Id$ + * Copyright (c) 2012-2014 Citus Data, Inc. * *------------------------------------------------------------------------- */ diff --git a/mongo_query.h b/mongo_query.h index e6e5efe..0a75e98 100644 --- a/mongo_query.h +++ b/mongo_query.h @@ -4,9 +4,7 @@ * * Type and function declarations for constructing queries to send to MongoDB. * - * Copyright (c) 2012, Citus Data, Inc. - * - * $Id$ + * Copyright (c) 2012-2014 Citus Data, Inc. * *------------------------------------------------------------------------- */ From ce06f3e5dd59c7248d85d44032e3c14142c74948 Mon Sep 17 00:00:00 2001 From: Jason Petersen Date: Mon, 27 Jan 2014 20:36:32 -0700 Subject: [PATCH 07/11] Remove contact email Users should open GitHub issues to report bugs. --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index 3d76098..fc15f5a 100644 --- a/README.md +++ b/README.md @@ -108,9 +108,6 @@ the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. -For all types of questions and comments about the wrapper, please contact us at -engage @ citusdata.com. - See the [LICENSE][4] file for full details. [1]: http://www.mongodb.com From 8e474981f653117af03824e03ba5118073f90d41 Mon Sep 17 00:00:00 2001 From: Jason Petersen Date: Mon, 27 Jan 2014 23:11:17 -0700 Subject: [PATCH 08/11] Add guidelines for contributors --- CONTRIBUTING.md | 85 +++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 12 +++++-- 2 files changed, 95 insertions(+), 2 deletions(-) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..368a4ab --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,85 @@ +Contributing to `mongo_fdw` +=========================== + +Following these guidelines helps to facilitate relevant discussion in pull +requests and issues so the developers managing and developing this open source +project can address patches and bugs as efficiently as possible. + + +Using Issues +------------ + +`mongo_fdw`'s maintainers prefer that bug reports, feature requests, and pull +requests are submitted as [GitHub Issues][1]. If you think you require personal +assistance, please **do not** open an issue and email `engage` `at` `citusdata` +`dot` `com` instead. + + +Bug Reports +----------- + +Before opening a bug report: + + 1. Search for a duplicate issue using GitHub's issue search + 2. Check whethe the bug remains in the lasest `master` or `develop` commit + 3. Create a reduced test case: remove code and data not relevant to the bug + +A contributor should be able to begin work on your bug without asking too many +followup questions. If you include the following information, your bug will be +serviced more quickly: + + * Short, descriptive title + * Your OS + * Versions of dependencies + * Any custom modifications + +Once the background information is out of the way, you are free to present the +bug itself. You should explain: + + * Steps you took to exercise the bug + * The expected outcome + * What actually occurred + + +Feature Requests +---------------- + +We are open to adding features but ultimately control the scope and aims of the +project. If a proposed feature is likely to incur high testing, maintenance, or +performance costs it is also unlikely to be accepted. If a _strong_ case exists +for a given feature, we may be persuaded on merit. Be specific. + + +Pull Requests +------------- + +Well-constructed pull requests are very welcome. By _well-constructed_, we mean +they do not introduce unrelated changes or break backwards compatibility. Just +fork this repo and open a request against `develop`. + +Some examples of things likely to increase the likelihood a pull request is +rejected: + + * Large structural changes, including: + * Refactoring for its own sake + * Adding languages to the project + * Unnecesary whitespace changes + * Deviation from obvious conventions + * Introduction of incompatible intellectual property + +Please do not change version numbers in your pull request: they will be updated +by the project owners prior to the next release. + + +License +------- + +By submitting a patch, you agree to allow the project owners to license your +work under the terms of the [`LICENSE`][2]. Additionally, you grant the project +owners a license under copyright covering your contribution to the extent +permitted by law. Finally, you confirm that you own said copyright, have the +legal authority to grant said license, and in doing so are not violating any +grant of rights you have made to third parties, including your employer. + +[1]: https://github.com/citusdata/mongo_fdw/issues +[2]: LICENSE diff --git a/README.md b/README.md index fc15f5a..e1f9cdc 100644 --- a/README.md +++ b/README.md @@ -98,6 +98,13 @@ Limitations constant in `src/include/pg_config_manual.h`, compile, and reinstall. +Contributing +------------ + +Have a fix for a bug or a great new feature? Great! Check out the contribution +guidelines [here][4]. + + License ------- @@ -108,9 +115,10 @@ the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. -See the [LICENSE][4] file for full details. +See the [`LICENSE`][5] file for full details. [1]: http://www.mongodb.com [2]: http://www.citusdata.com/blog/51-run-sql-on-mongodb [3]: https://github.com/citusdata/mongo_fdw/issues/new -[4]: LICENSE +[4]: CONTRIBUTING.md +[5]: LICENSE From d0f81c0a77e8c627f9d6d0cd2c7945d444861225 Mon Sep 17 00:00:00 2001 From: Jason Petersen Date: Mon, 27 Jan 2014 23:21:24 -0700 Subject: [PATCH 09/11] Add support policy To set expectations. --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index e1f9cdc..deae15b 100644 --- a/README.md +++ b/README.md @@ -105,6 +105,15 @@ Have a fix for a bug or a great new feature? Great! Check out the contribution guidelines [here][4]. +Support +------- + +This project will be modified to maintain compatibility with new PostgreSQL +releases. The project owners set aside a day every month to look over open +issues and support emails, but are not engaged in active feature development. +Reported bugs will be addressed by apparent severity. + + License ------- From f991fb6152d222b606223ae34e9f45f37924dd28 Mon Sep 17 00:00:00 2001 From: Jason Petersen Date: Tue, 28 Jan 2014 14:05:34 -0700 Subject: [PATCH 10/11] Small wording/formatting changes to README --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index deae15b..d12305c 100644 --- a/README.md +++ b/README.md @@ -90,8 +90,8 @@ Limitations * If the BSON document key contains uppercase letters or occurs within a nested document, `mongo_fdw` requires the corresponding column names to be declared in double quotes. For example, a nested field such as `"review": { - "Votes": 19 }` should be declared as `"review.Votes" INTEGER` in the create - table statement. + "Votes": 19 }` should be declared as `"review.Votes" INTEGER` in the `CREATE + TABLE` statement. * Note that PostgreSQL limits column names to 63 characters by default. If you need column names that are longer, you can increase the `NAMEDATALEN` @@ -101,8 +101,8 @@ Limitations Contributing ------------ -Have a fix for a bug or a great new feature? Great! Check out the contribution -guidelines [here][4]. +Have a fix for a bug or an idea for a great new feature? Great! Check out the +contribution guidelines [here][4]. Support From d966eb9b02c9be00fb63673f841e7e01970c99f6 Mon Sep 17 00:00:00 2001 From: Jason Petersen Date: Tue, 28 Jan 2014 16:05:10 -0700 Subject: [PATCH 11/11] Return email to README Per @ozgune's request. --- CONTRIBUTING.md | 4 ++-- README.md | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 368a4ab..df9d264 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -11,8 +11,8 @@ Using Issues `mongo_fdw`'s maintainers prefer that bug reports, feature requests, and pull requests are submitted as [GitHub Issues][1]. If you think you require personal -assistance, please **do not** open an issue and email `engage` `at` `citusdata` -`dot` `com` instead. +assistance, please **do not** open an issue: email `engage` `@` `citusdata.com` +instead. Bug Reports diff --git a/README.md b/README.md index d12305c..4b024d5 100644 --- a/README.md +++ b/README.md @@ -102,7 +102,8 @@ Contributing ------------ Have a fix for a bug or an idea for a great new feature? Great! Check out the -contribution guidelines [here][4]. +contribution guidelines [here][4]. For all other types of questions or comments +about the wrapper please contact us at `engage` `@` `citusdata.com`. Support