[2/4] incubator-hawq git commit: HAWQ-918. Fix memtuple forming bug when null-saved size is larger than 32763 bytes

2016-07-12 Thread wlin
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/4ad3a6d1/src/test/regress/known_good_schedule
--
diff --git a/src/test/regress/known_good_schedule 
b/src/test/regress/known_good_schedule
index 1f95e49..a402997 100755
--- a/src/test/regress/known_good_schedule
+++ b/src/test/regress/known_good_schedule
@@ -68,6 +68,7 @@ ignore: triggers
 ignore: create_misc
 test: create_aggregate
 test: aggregate_with_groupingsets
+test: aggregates_null
 test: nested_case_null
 ignore: create_operator
 ignore: create_index



[4/4] incubator-hawq git commit: HAWQ-918. Fix memtuple forming bug when null-saved size is larger than 32763 bytes

2016-07-12 Thread wlin
HAWQ-918. Fix memtuple forming bug when null-saved size is larger than 32763 
bytes


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

Branch: refs/heads/master
Commit: 4ad3a6d1b452514c7159f776b173b4b727ce73a4
Parents: 5f67ae0
Author: Wen Lin 
Authored: Wed Jul 13 09:39:49 2016 +0800
Committer: Wen Lin 
Committed: Wed Jul 13 09:39:49 2016 +0800

--
 src/backend/access/common/memtuple.c  |  6 ++---
 src/test/regress/expected/aggregates_null.out | 27 ++
 src/test/regress/known_good_schedule  |  1 +
 src/test/regress/sql/aggregates_null.sql  | 24 +++
 4 files changed, 55 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/4ad3a6d1/src/backend/access/common/memtuple.c
--
diff --git a/src/backend/access/common/memtuple.c 
b/src/backend/access/common/memtuple.c
index 6d63f5b..be9de54 100644
--- a/src/backend/access/common/memtuple.c
+++ b/src/backend/access/common/memtuple.c
@@ -159,9 +159,9 @@ static inline short compute_null_save_b(short *null_saves, 
unsigned char b)
 /* compute the null saved bytes by the whole null bit map, by the attribute
  * physically precedes the one.
  */
-static inline short compute_null_save(short *null_saves, unsigned char 
*nullbitmaps, int nbyte, unsigned char nbit)
+static inline int compute_null_save(short *null_saves, unsigned char 
*nullbitmaps, int nbyte, unsigned char nbit)
 {
-   short ret = 0;
+   int ret = 0;
int curr_byte = 0;
while(curr_byte < nbyte) 
{
@@ -535,7 +535,7 @@ uint32 compute_memtuple_size(MemTupleBinding *pbind, Datum 
*values, bool *isnull
 
 static inline char* memtuple_get_attr_ptr(char *start, MemTupleAttrBinding 
*bind, short *null_saves, unsigned char *nullp)
 {
-   short ns = 0;
+   int ns = 0;
 
if(nullp)
ns = compute_null_save(null_saves, nullp, bind->null_byte, 
bind->null_mask);



incubator-hawq git commit: HAWQ-919. Add missing ASF license header.

2016-07-12 Thread godenyao
Repository: incubator-hawq
Updated Branches:
  refs/heads/2.0.0.0-incubating fe405ab62 -> 727117ff4


HAWQ-919. Add missing ASF license header.


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

Branch: refs/heads/2.0.0.0-incubating
Commit: 727117ff4bc9b892c69b7c29514aa73049ab6949
Parents: fe405ab
Author: Goden Yao 
Authored: Tue Jul 12 14:25:14 2016 -0700
Committer: Goden Yao 
Committed: Tue Jul 12 14:31:04 2016 -0700

--
 .../lexer-tests/array_objects_complex.json.state | 19 ++-
 .../lexer-tests/array_objects_empty.json.state   | 19 ++-
 .../lexer-tests/array_of_numbers.json.state  | 19 ++-
 .../lexer-tests/object_complex.json.state| 17 +
 .../lexer-tests/object_simple.json.state | 17 +
 .../object_string_escaping.json.state| 17 +
 pxf/pxf-json/src/test/resources/log4j.properties | 19 ++-
 7 files changed, 123 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/727117ff/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_complex.json.state
--
diff --git 
a/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_complex.json.state 
b/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_complex.json.state
index 8d4057c..4f6fb5f 100644
--- 
a/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_complex.json.state
+++ 
b/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_complex.json.state
@@ -1,3 +1,20 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
 BEGIN_ARRAY
 BEGIN_OBJECT
 
@@ -146,4 +163,4 @@ END_ARRAY
 
 END_OBJECT
 
-END_ARRAY
\ No newline at end of file
+END_ARRAY

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/727117ff/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_empty.json.state
--
diff --git 
a/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_empty.json.state 
b/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_empty.json.state
index 06ed04e..c5d7375 100644
--- a/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_empty.json.state
+++ b/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_empty.json.state
@@ -1,7 +1,24 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
 BEGIN_ARRAY
 BEGIN_OBJECT
 END_OBJECT
 VALUE_SEPARATOR
 BEGIN_OBJECT
 END_OBJECT
-END_ARRAY
\ No newline at end of file
+END_ARRAY

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/727117ff/pxf/pxf-json/src/test/resources/lexer-tests/array_of_numbers.json.state
--
diff --git 
a/pxf/pxf-json/src/test/resources/lexer-tests/array_of_numbers.json.state 
b/pxf/pxf-json/src/test/resources/lexer-tests/array_of_numbers.json.state
index 2a83fa9..e0bed1b 100644
--- a/pxf/pxf-json/src/test/resources/lexer-tests/array_of_numbers.json.state
+++ 

[incubator-hawq] Git Push Summary

2016-07-12 Thread godenyao
Repository: incubator-hawq
Updated Branches:
  refs/heads/HAWQ-919 [deleted] 347526653


incubator-hawq git commit: HAWQ-919. Add missing ASF license header.

2016-07-12 Thread godenyao
Repository: incubator-hawq
Updated Branches:
  refs/heads/master bab04b57b -> 5f67ae078


HAWQ-919. Add missing ASF license header.


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

Branch: refs/heads/master
Commit: 5f67ae078bfa6357523dd92ec9184980c601a725
Parents: bab04b5
Author: Goden Yao 
Authored: Tue Jul 12 14:25:14 2016 -0700
Committer: Goden Yao 
Committed: Tue Jul 12 14:25:14 2016 -0700

--
 .../lexer-tests/array_objects_complex.json.state | 19 ++-
 .../lexer-tests/array_objects_empty.json.state   | 19 ++-
 .../lexer-tests/array_of_numbers.json.state  | 19 ++-
 .../lexer-tests/object_complex.json.state| 17 +
 .../lexer-tests/object_simple.json.state | 17 +
 .../object_string_escaping.json.state| 17 +
 pxf/pxf-json/src/test/resources/log4j.properties | 19 ++-
 7 files changed, 123 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/5f67ae07/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_complex.json.state
--
diff --git 
a/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_complex.json.state 
b/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_complex.json.state
index 8d4057c..4f6fb5f 100644
--- 
a/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_complex.json.state
+++ 
b/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_complex.json.state
@@ -1,3 +1,20 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
 BEGIN_ARRAY
 BEGIN_OBJECT
 
@@ -146,4 +163,4 @@ END_ARRAY
 
 END_OBJECT
 
-END_ARRAY
\ No newline at end of file
+END_ARRAY

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/5f67ae07/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_empty.json.state
--
diff --git 
a/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_empty.json.state 
b/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_empty.json.state
index 06ed04e..c5d7375 100644
--- a/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_empty.json.state
+++ b/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_empty.json.state
@@ -1,7 +1,24 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
 BEGIN_ARRAY
 BEGIN_OBJECT
 END_OBJECT
 VALUE_SEPARATOR
 BEGIN_OBJECT
 END_OBJECT
-END_ARRAY
\ No newline at end of file
+END_ARRAY

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/5f67ae07/pxf/pxf-json/src/test/resources/lexer-tests/array_of_numbers.json.state
--
diff --git 
a/pxf/pxf-json/src/test/resources/lexer-tests/array_of_numbers.json.state 
b/pxf/pxf-json/src/test/resources/lexer-tests/array_of_numbers.json.state
index 2a83fa9..e0bed1b 100644
--- a/pxf/pxf-json/src/test/resources/lexer-tests/array_of_numbers.json.state
+++ 

incubator-hawq git commit: add missing ASF license header

2016-07-12 Thread godenyao
Repository: incubator-hawq
Updated Branches:
  refs/heads/HAWQ-919 [created] fa88c325d


add missing ASF license header


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

Branch: refs/heads/HAWQ-919
Commit: fa88c325d030039fa74daee100381c0b6d07b3a0
Parents: bab04b5
Author: Goden Yao 
Authored: Tue Jul 12 12:10:27 2016 -0700
Committer: Goden Yao 
Committed: Tue Jul 12 12:10:27 2016 -0700

--
 .../lexer-tests/array_objects_complex.json.state | 19 ++-
 .../lexer-tests/array_objects_empty.json.state   | 19 ++-
 .../lexer-tests/array_of_numbers.json.state  | 19 ++-
 .../lexer-tests/object_complex.json.state| 17 +
 .../lexer-tests/object_simple.json.state | 17 +
 .../object_string_escaping.json.state| 17 +
 pxf/pxf-json/src/test/resources/log4j.properties | 19 ++-
 7 files changed, 123 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/fa88c325/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_complex.json.state
--
diff --git 
a/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_complex.json.state 
b/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_complex.json.state
index 8d4057c..4f6fb5f 100644
--- 
a/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_complex.json.state
+++ 
b/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_complex.json.state
@@ -1,3 +1,20 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
 BEGIN_ARRAY
 BEGIN_OBJECT
 
@@ -146,4 +163,4 @@ END_ARRAY
 
 END_OBJECT
 
-END_ARRAY
\ No newline at end of file
+END_ARRAY

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/fa88c325/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_empty.json.state
--
diff --git 
a/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_empty.json.state 
b/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_empty.json.state
index 06ed04e..c5d7375 100644
--- a/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_empty.json.state
+++ b/pxf/pxf-json/src/test/resources/lexer-tests/array_objects_empty.json.state
@@ -1,7 +1,24 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
 BEGIN_ARRAY
 BEGIN_OBJECT
 END_OBJECT
 VALUE_SEPARATOR
 BEGIN_OBJECT
 END_OBJECT
-END_ARRAY
\ No newline at end of file
+END_ARRAY

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/fa88c325/pxf/pxf-json/src/test/resources/lexer-tests/array_of_numbers.json.state
--
diff --git 
a/pxf/pxf-json/src/test/resources/lexer-tests/array_of_numbers.json.state 
b/pxf/pxf-json/src/test/resources/lexer-tests/array_of_numbers.json.state
index 2a83fa9..e0bed1b 100644
--- a/pxf/pxf-json/src/test/resources/lexer-tests/array_of_numbers.json.state
+++ 

incubator-hawq git commit: HAWQ-808. Refactor feature test for external_oid with new framework.

2016-07-12 Thread huor
Repository: incubator-hawq
Updated Branches:
  refs/heads/master 651ce19d1 -> bab04b57b


HAWQ-808. Refactor feature test for external_oid with new framework.


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

Branch: refs/heads/master
Commit: bab04b57bfc4737b584595e79f61a7afec523c05
Parents: 651ce19
Author: xunzhang 
Authored: Tue Jul 12 14:14:08 2016 +0800
Committer: xunzhang 
Committed: Tue Jul 12 14:23:34 2016 +0800

--
 .../ExternalSource/ans/external_oid.ans.source  | 209 ++
 .../ExternalSource/data/multi_table.json|   1 +
 .../ExternalSource/data/single_table.json   |   1 +
 src/test/feature/ExternalSource/lib/Makefile|  44 ++
 src/test/feature/ExternalSource/lib/function.c  | 727 +++
 .../ExternalSource/sql/external_oid.sql.source  | 108 +++
 .../ExternalSource/test_external_oid.cpp|  35 +
 src/test/feature/Makefile   |   2 +
 src/test/regress/input/external_oid.source  | 118 ---
 src/test/regress/known_good_schedule|   1 -
 src/test/regress/output/external_oid.source | 211 --
 11 files changed, 1127 insertions(+), 330 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/bab04b57/src/test/feature/ExternalSource/ans/external_oid.ans.source
--
diff --git a/src/test/feature/ExternalSource/ans/external_oid.ans.source 
b/src/test/feature/ExternalSource/ans/external_oid.ans.source
new file mode 100644
index 000..3f3f3ae
--- /dev/null
+++ b/src/test/feature/ExternalSource/ans/external_oid.ans.source
@@ -0,0 +1,209 @@
+-- --
+-- test first external Oid initialization
+-- --
+-- start_matchsubs
+--
+-- # create a match/subs expression to handle ip addresses that change
+--
+-- m/.*inserted tuple to heap table pg_class \(oid \d+, relname table_xl\).*/
+-- s/oid \d+/oid SOME_OID/
+--
+-- m/.*deleted tuple oid=\d+ from heap table pg_class.*/
+-- s/oid=\d+/oid=OID/
+--
+-- end_matchsubs
+-- Create function that returns the first external Oid boundary
+CREATE OR REPLACE FUNCTION min_external_oid() RETURNS oid
+  AS '@SHARE_LIBRARY_PATH@', 'min_external_oid'
+  LANGUAGE C;
+CREATE FUNCTION
+-- Create function that returns the current external Oid
+CREATE OR REPLACE FUNCTION get_next_external_oid() RETURNS oid
+  AS '@SHARE_LIBRARY_PATH@', 'get_next_external_oid'
+  LANGUAGE C;
+CREATE FUNCTION
+-- Create function that sets the current external Oid
+CREATE OR REPLACE FUNCTION set_next_external_oid(ext_oid oid) RETURNS oid
+  AS '@SHARE_LIBRARY_PATH@', 'set_next_external_oid'
+  LANGUAGE C;
+CREATE FUNCTION
+-- Create function to insert and scan in-memory data to pg_class
+CREATE OR REPLACE FUNCTION load_json_data(filename text) RETURNS text
+  AS '@SHARE_LIBRARY_PATH@', 'load_json_data'
+  LANGUAGE C;
+CREATE FUNCTION
+-- Create function that inserts tuple with given Oid
+CREATE OR REPLACE FUNCTION caql_insert_into_heap_pg_class(relid oid, tblname 
text) RETURNS text
+  AS '@SHARE_LIBRARY_PATH@', 'caql_insert_into_heap_pg_class'
+  LANGUAGE C;
+CREATE FUNCTION
+-- Create function that inserts tuple with given Oid
+CREATE OR REPLACE FUNCTION caql_delete_from_heap_pg_class(relid oid) RETURNS 
text
+  AS '@SHARE_LIBRARY_PATH@', 'caql_delete_from_heap_pg_class'
+  LANGUAGE C;
+CREATE FUNCTION
+-- --
+-- Test hcat table external oid initialization
+-- --
+-- Boundary should be at FirstExternalObjectId
+--SELECT min_external_oid();
+-- NextExternalObjectId is uninitialized
+SELECT get_next_external_oid();
+ get_next_external_oid
+---
+ 0
+(1 row)
+
+SELECT load_json_data('@abs_datadir@/single_table.json');
+  load_json_data
+--
+ default.mytable
+(1 row)
+
+SELECT get_next_external_oid()::bigint - min_external_oid()::bigint;
+ ?column?
+--
+0
+(1 row)
+
+BEGIN TRANSACTION;
+BEGIN
+SELECT get_next_external_oid()::bigint - min_external_oid()::bigint;
+ ?column?
+--
+0
+(1 row)
+
+-- load default.mytable -> +3 oids
+-- 1 oid for namespace 'default', 1 oid for relation 'mytable', 1 oid for 
reltype
+SELECT load_json_data('@abs_datadir@/single_table.json');
+  load_json_data
+--
+ default.mytable
+(1 row)
+
+SELECT get_next_external_oid()::bigint - min_external_oid()::bigint;
+ ?column? 
+--
+3
+(1 row)
+
+-- load db1.ht1, db2.ht1, db2.ht2 -> +8 oids
+-- oids: db1,