Repository: incubator-hawq
Updated Branches:
  refs/heads/master 2e7b8d749 -> fe22ef428


HAWQ-793. Temporarily remove the snappy info in metadata but keep the snappy 
support for row oriented storage.


Project: http://git-wip-us.apache.org/repos/asf/incubator-hawq/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-hawq/commit/fe22ef42
Tree: http://git-wip-us.apache.org/repos/asf/incubator-hawq/tree/fe22ef42
Diff: http://git-wip-us.apache.org/repos/asf/incubator-hawq/diff/fe22ef42

Branch: refs/heads/master
Commit: fe22ef4288fd9f08db67512740004922f7d71f51
Parents: 2e7b8d7
Author: Paul Guo <[email protected]>
Authored: Wed Jun 8 13:48:44 2016 +0800
Committer: Paul Guo <[email protected]>
Committed: Wed Jun 8 13:53:30 2016 +0800

----------------------------------------------------------------------
 src/backend/catalog/pg_compression.c | 27 +++++++++++++++++++++++++--
 src/include/catalog/pg_compression.h |  2 +-
 src/include/catalog/pg_proc.h        | 20 ++++++++++----------
 3 files changed, 36 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/fe22ef42/src/backend/catalog/pg_compression.c
----------------------------------------------------------------------
diff --git a/src/backend/catalog/pg_compression.c 
b/src/backend/catalog/pg_compression.c
index 8eb51d5..b073d00 100644
--- a/src/backend/catalog/pg_compression.c
+++ b/src/backend/catalog/pg_compression.c
@@ -113,6 +113,24 @@ GetCompressionImplementation(char *comptype)
 
        compname = comptype_to_name(comptype);
 
+       /*
+        * This is a hack: We added the snappy support for row oriented 
storage, however
+        * to make the feature friendly to upgradation in short term, we decide 
to not
+        * modify the system table to implement this. Following ugly hack is to
+        * complete this. Let's remove this piece of code after snappy support 
is
+        * added to the related system tables.
+        */
+       if (strcmp(NameStr(compname), "snappy") == 0)
+       {
+               funcs = palloc0(sizeof(PGFunction) * NUM_COMPRESS_FUNCS);
+               funcs[COMPRESSION_CONSTRUCTOR] = snappy_constructor;
+               funcs[COMPRESSION_DESTRUCTOR] = snappy_destructor;
+               funcs[COMPRESSION_COMPRESS] = snappy_compress_internal;
+               funcs[COMPRESSION_DECOMPRESS] = snappy_decompress_internal;
+               funcs[COMPRESSION_VALIDATOR] = snappy_validator;
+               return funcs;
+       }
+
        tuple = caql_getfirst(
                        NULL,
                        cql("SELECT * FROM pg_compression "
@@ -555,10 +573,15 @@ compresstype_is_valid(char *comptype)
                                                 " WHERE compname = :1 ",
                                                 NameGetDatum(&compname))));
 
-       /* FIXME: This is a hack. Should register gzip handlers into 
pg_compression table. */
+       /*
+        * FIXME: This is a hack. Should implement related handlers and 
register 
+        * in system tables instead. snappy handlers have already been 
implemented
+        * but not registerd in system tables (see comment in 
GetCompressionImplement()
+        * for details).
+        */
        if(!found)
        {
-               if(strcmp(comptype, "gzip") == 0)
+               if(strcmp(comptype, "snappy") == 0 || strcmp(comptype, "gzip") 
== 0)
                        found = true;
        }
 

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/fe22ef42/src/include/catalog/pg_compression.h
----------------------------------------------------------------------
diff --git a/src/include/catalog/pg_compression.h 
b/src/include/catalog/pg_compression.h
index eb39ba1..6c34280 100644
--- a/src/include/catalog/pg_compression.h
+++ b/src/include/catalog/pg_compression.h
@@ -117,7 +117,7 @@ typedef FormData_pg_compression *Form_pg_compression;
 /* TIDYCAT_END_CODEGEN */
 
 /* Initial contents */
-DATA(insert OID = 3069 ( snappy gp_snappy_constructor gp_snappy_destructor 
gp_snappy_compress gp_snappy_decompress gp_snappy_validator PGUID ));
+/* DATA(insert OID = 3069 ( snappy gp_snappy_constructor gp_snappy_destructor 
gp_snappy_compress gp_snappy_decompress gp_snappy_validator PGUID )); */
 
 DATA(insert OID = 3060 ( zlib gp_zlib_constructor gp_zlib_destructor 
gp_zlib_compress gp_zlib_decompress gp_zlib_validator PGUID ));
 

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/fe22ef42/src/include/catalog/pg_proc.h
----------------------------------------------------------------------
diff --git a/src/include/catalog/pg_proc.h b/src/include/catalog/pg_proc.h
index 4441126..5393282 100644
--- a/src/include/catalog/pg_proc.h
+++ b/src/include/catalog/pg_proc.h
@@ -10313,24 +10313,24 @@ DATA(insert OID = 3055 ( anytable_out  PGNSP PGUID 12 
f f t f i 1 2275 f "3053"
 DESCR("anytable type serialization output function");
 
 /* gp_snappy_constructor(internal, internal, bool) => internal */
-DATA(insert OID = 5080 ( gp_snappy_constructor  PGNSP PGUID 12 f f f f v 3 
2281 f "2281 2281 16" _null_ _null_ _null_ snappy_constructor - _null_ n ));
-DESCR("snappy constructor");
+/* DATA(insert OID = 5080 ( gp_snappy_constructor  PGNSP PGUID 12 f f f f v 3 
2281 f "2281 2281 16" _null_ _null_ _null_ snappy_constructor - _null_ n )); */
+/* DESCR("snappy constructor"); */
 
 /* gp_snappy_destructor(internal) => void */
-DATA(insert OID = 5081 ( gp_snappy_destructor  PGNSP PGUID 12 f f f f v 1 2278 
f "2281" _null_ _null_ _null_ snappy_destructor - _null_ n ));
-DESCR("snappy destructor");
+/* DATA(insert OID = 5081 ( gp_snappy_destructor  PGNSP PGUID 12 f f f f v 1 
2278 f "2281" _null_ _null_ _null_ snappy_destructor - _null_ n )); */
+/* DESCR("snappy destructor"); */
 
 /* gp_snappy_compress(internal, int4, internal, int4, internal, internal) => 
void */
-DATA(insert OID = 5082 ( gp_snappy_compress  PGNSP PGUID 12 f f f f i 6 2278 f 
"2281 23 2281 23 2281 2281" _null_ _null_ _null_ snappy_compress_internal - 
_null_ n ));
-DESCR("snappy compressor");
+/* DATA(insert OID = 5082 ( gp_snappy_compress  PGNSP PGUID 12 f f f f i 6 
2278 f "2281 23 2281 23 2281 2281" _null_ _null_ _null_ 
snappy_compress_internal - _null_ n )); */
+/* DESCR("snappy compressor"); */
 
 /* gp_snappy_decompress(internal, int4, internal, int4, internal, internal) => 
void */
-DATA(insert OID = 5083 ( gp_snappy_decompress  PGNSP PGUID 12 f f f f i 6 2278 
f "2281 23 2281 23 2281 2281" _null_ _null_ _null_ snappy_decompress_internal - 
_null_ n ));
-DESCR("snappy decompressor");
+/* DATA(insert OID = 5083 ( gp_snappy_decompress  PGNSP PGUID 12 f f f f i 6 
2278 f "2281 23 2281 23 2281 2281" _null_ _null_ _null_ 
snappy_decompress_internal - _null_ n )); */
+/* DESCR("snappy decompressor"); */
 
 /* gp_snappy_validator(internal) => void */
-DATA(insert OID = 9926 ( gp_snappy_validator  PGNSP PGUID 12 f f f f i 1 2278 
f "2281" _null_ _null_ _null_ snappy_validator - _null_ n ));
-DESCR("snappy compression validator");
+/* DATA(insert OID = 9926 ( gp_snappy_validator  PGNSP PGUID 12 f f f f i 1 
2278 f "2281" _null_ _null_ _null_ snappy_validator - _null_ n )); */
+/* DESCR("snappy compression validator"); */
 
 /* gp_quicklz_constructor(internal, internal, bool) => internal */
 DATA(insert OID = 5076 ( gp_quicklz_constructor  PGNSP PGUID 12 f f f f v 3 
2281 f "2281 2281 16" _null_ _null_ _null_ quicklz_constructor - _null_ n ));

Reply via email to