Render empty insert value lists as DEFAULT VALUES
[dbsrgits/Data-Query.git] / lib / Data / Query / Renderer / SQL / Naive.pm
index fb18512..6626002 100644 (file)
@@ -463,11 +463,13 @@ sub _render_insert {
     ($names
       ? ('(', intersperse(',', map $self->_render($_), @$names), ')')
       : ()),
-    $self->_format_keyword('VALUES'),
-    intersperse(',',
-      map [ '(', intersperse(',', map $self->_render($_), @$_), ')' ],
-        @$values
-    ),
+    (@$values && @{$values->[0]}
+      ? ($self->_format_keyword('VALUES'),
+         intersperse(',',
+           map [ '(', intersperse(',', map $self->_render($_), @$_), ')' ],
+             @$values
+         ))
+      : ($self->_insert_default_values)),
     ($returning
       ? ($self->_format_keyword('RETURNING'),
          intersperse(',', map $self->_render($_), @$returning))
@@ -475,4 +477,9 @@ sub _render_insert {
   ];
 }
 
+sub _insert_default_values {
+  my ($self) = @_;
+  $self->_format_keyword('DEFAULT VALUES'),
+}
+
 1;